Skip to content
Snippets Groups Projects
Commit 81c6f757 authored by 13035516's avatar 13035516
Browse files

added outline to know that the user has reached the goal, to fix the logic to return to base

parent 1af2d6f6
Branches
No related merge requests found
......@@ -202,6 +202,88 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 82386394}
m_CullTransparentMesh: 0
--- !u!1 &224277846
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 224277847}
- component: {fileID: 224277852}
m_Layer: 0
m_Name: GoalOutline
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &224277847
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 224277846}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.3, y: 1.3, z: 1.3}
m_Children: []
m_Father: {fileID: 2135908525}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &224277852
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 224277846}
m_Enabled: 0
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 0.16, y: 0.16}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &519420028
GameObject:
m_ObjectHideFlags: 0
......@@ -285,6 +367,88 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &535890398
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 535890399}
- component: {fileID: 535890400}
m_Layer: 0
m_Name: GoalOutline
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &535890399
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 535890398}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0.8155713, z: 0}
m_LocalScale: {x: 1.2999998, y: 1.2999998, z: 1.2999998}
m_Children: []
m_Father: {fileID: 930444369}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &535890400
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 535890398}
m_Enabled: 0
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 0.16, y: 0.16}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &724825885
GameObject:
m_ObjectHideFlags: 0
......@@ -377,7 +541,7 @@ RectTransform:
m_Children:
- {fileID: 1076285588}
m_Father: {fileID: 0}
m_RootOrder: 6
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
......@@ -575,10 +739,11 @@ Transform:
m_GameObject: {fileID: 930444364}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: -2.85, z: 18.093513}
m_LocalScale: {x: 4, y: 4, z: 4}
m_Children: []
m_LocalScale: {x: 7, y: 7, z: 7}
m_Children:
- {fileID: 535890399}
m_Father: {fileID: 0}
m_RootOrder: 4
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &930444370
MonoBehaviour:
......@@ -853,11 +1018,146 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
TimingSettingFile: \Tables\Timings.csv
mTriggerBoundary: {fileID: 0}
DestTriggerBoundary: {fileID: 0}
PlayerSprite: {fileID: 1799994477}
Goals:
- {fileID: 2135908523}
- {fileID: 930444364}
Base: {fileID: 1315234459}
--- !u!1 &1315234459
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1315234464}
- component: {fileID: 1315234463}
- component: {fileID: 1315234462}
- component: {fileID: 1315234461}
- component: {fileID: 1315234460}
m_Layer: 0
m_Name: Base
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1315234460
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1315234459}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 97d6d619f5da017469a5541fe6721645, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!50 &1315234461
Rigidbody2D:
serializedVersion: 4
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1315234459}
m_BodyType: 2
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 1
m_LinearDrag: 0
m_AngularDrag: 0.05
m_GravityScale: 1
m_Material: {fileID: 0}
m_Interpolate: 0
m_SleepingMode: 1
m_CollisionDetection: 0
m_Constraints: 0
--- !u!58 &1315234462
CircleCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1315234459}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 1
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
serializedVersion: 2
m_Radius: 0.1
--- !u!212 &1315234463
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1315234459}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
m_Color: {r: 0, g: 0.64300346, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 0.16, y: 0.16}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!4 &1315234464
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1315234459}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 18.093513}
m_LocalScale: {x: 7, y: 7, z: 7}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1492511337
GameObject:
m_ObjectHideFlags: 0
......@@ -922,7 +1222,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 5
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1799994476
GameObject:
......@@ -1119,7 +1419,7 @@ SpriteRenderer:
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_SortingOrder: 1
m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0}
m_Color: {r: 1, g: 0.0677494, b: 0, a: 1}
m_FlipX: 0
......@@ -1140,10 +1440,11 @@ Transform:
m_GameObject: {fileID: 2135908523}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 2.859, z: 18.093513}
m_LocalScale: {x: 4, y: 4, z: 4}
m_Children: []
m_LocalScale: {x: 7, y: 7, z: 7}
m_Children:
- {fileID: 224277847}
m_Father: {fileID: 0}
m_RootOrder: 3
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!50 &2135908526
Rigidbody2D:
......
File added
No preview for this file type
File added
No preview for this file type
File added
No preview for this file type
......@@ -14,14 +14,16 @@ public class ChangeColour : MonoBehaviour
private bool Go = false;
private bool NoGo = false;
private SpriteRenderer m_SpriteRenderer;
private SpriteRenderer[] m_SpriteRenderer = new SpriteRenderer[2];
private TriggerBoundary mTriggerBoundary;
// Start is called before the first frame update
void Start()
{
m_SpriteRenderer = gameObject.GetComponent<SpriteRenderer>();
m_SpriteRenderer.color = NoGoColor;
m_SpriteRenderer = gameObject.GetComponentsInChildren<SpriteRenderer>();
m_SpriteRenderer[0].color = NoGoColor;
mTriggerBoundary = gameObject.GetComponent<TriggerBoundary>();
NoGo = true;
}
......@@ -31,20 +33,28 @@ public class ChangeColour : MonoBehaviour
switch(GoalState)
{
case 0:
m_SpriteRenderer.color = NoGoColor;
m_SpriteRenderer[0].color = NoGoColor;
Go = false;
Target = false;
break;
case 1:
m_SpriteRenderer.color = TargetColor;
m_SpriteRenderer[0].color = TargetColor;
NoGo = false;
Go = false;
break;
case 2:
m_SpriteRenderer.color = GoColor;
m_SpriteRenderer[0].color = GoColor;
NoGo = false;
Target = false;
break;
}
if (mTriggerBoundary.ColliderIsTriggered)
{
m_SpriteRenderer[1].enabled = true;
}
else
{
m_SpriteRenderer[1].enabled = false;
}
}
}
......@@ -14,14 +14,16 @@ public class ChangeColour : MonoBehaviour
private bool Go = false;
private bool NoGo = false;
private SpriteRenderer m_SpriteRenderer;
private SpriteRenderer[] m_SpriteRenderer = new SpriteRenderer[2];
private TriggerBoundary mTriggerBoundary;
// Start is called before the first frame update
void Start()
{
m_SpriteRenderer = gameObject.GetComponent<SpriteRenderer>();
m_SpriteRenderer = gameObject.GetComponentsInChildren<SpriteRenderer>();
m_SpriteRenderer.color = NoGoColor;
mTriggerBoundary = gameObject.GetComponent<TriggerBoundary>();
NoGo = true;
}
......@@ -31,20 +33,28 @@ public class ChangeColour : MonoBehaviour
switch(GoalState)
{
case 0:
m_SpriteRenderer.color = NoGoColor;
m_SpriteRenderer[0].color = NoGoColor;
Go = false;
Target = false;
break;
case 1:
m_SpriteRenderer.color = TargetColor;
m_SpriteRenderer[0].color = TargetColor;
NoGo = false;
Go = false;
break;
case 2:
m_SpriteRenderer.color = GoColor;
m_SpriteRenderer[0].color = GoColor;
NoGo = false;
Target = false;
break;
}
if (mTriggerBoundary.ColliderIsTriggered)
{
m_SpriteRenderer[1].enabled = true;
}
else
{
m_SpriteRenderer[1].enabled = false;
}
}
}
......@@ -22,9 +22,10 @@ public struct TimingSetting {
public class GameController : MonoBehaviour
{
public string TimingSettingFile = @"\Tables\Timings.csv";
public TriggerBoundary mTriggerBoundary;
public TriggerBoundary DestTriggerBoundary;
public SpriteRenderer PlayerSprite;
public GameObject[] Goals;
public GameObject Base;
public bool TrialResult {get; private set;}
private TimingSetting mTimingSetting;
......@@ -38,13 +39,18 @@ public class GameController : MonoBehaviour
private Random GoalSetter = new System.Random(300);
private Random OnsetDeviator = new System.Random(100);
private TriggerBoundary BaseTriggerBoundary;
private float OnsetDev = 0;
private int GoalSet = 0;
private const int NumGoals = 2;
private const int FailTime = 4000; // If exceeds this time including hold time, then the player loses
private const int HoldTime = 1000; // Player must keep their sprite in the goal for this long in order to complete the task
private bool TrialEnded = false;
// If exceeds this time including hold time, then the player loses
private const float FailTime = 4.0f;
// Player must keep their sprite in the goal for this long in order to complete the task
private const float HoldTime = 1.0f;
// Time the player must spend in the base to be considered end of trial
private const float BaseHoldTime = 0.2f;
private bool TrialState = false; // 0: inactive trial, 1: active trial
private GameObject Goal;
void Awake()
......@@ -62,6 +68,8 @@ public class GameController : MonoBehaviour
mTimingSetting = FloatArrayToStruct(TableData,mTimingSetting);
BaseTriggerBoundary = Base.GetComponent<TriggerBoundary>();
PlayerSprite.enabled = true;
for (int i = 0; i < Goals.Length; i++)
......@@ -80,6 +88,11 @@ public class GameController : MonoBehaviour
// measure in ms
Timer += dt*1000;
// Timer started ticking? Then the trial has started
if (Timer > 0) {
TrialState = true;
}
if (Timer > mTimingSetting.TrialStart)
{
bool[] states = CheckGoalStates(GoalsChangeColour);
......@@ -107,26 +120,30 @@ public class GameController : MonoBehaviour
GoalsChangeColour[GoalSet].GoalState = 2;
}
// If the player is in the target start counting
mTriggerBoundary = Goals[GoalSet].GetComponent<TriggerBoundary>();
DestTriggerBoundary = Goals[GoalSet].GetComponent<TriggerBoundary>();
// If the player hasn't achieved the hold time in the allotted time
// they fail
if (Timer > FailTime)
{
TrialResult = false;
TrialEnded = true;
TrialState = false;
}
else if (Timer <= FailTime && mTriggerBoundary.GetStayTime() >= HoldTime)
else if (Timer <= FailTime && DestTriggerBoundary.GetStayTime() >= HoldTime)
{
TrialResult = true;
TrialEnded = true;
TrialState = false;
}
if (TrialEnded)
if (!TrialState)
{
EndTrialSequence();
// Don't begin the new trial until the user has returned to the
// base position
if ( DestTriggerBoundary.GetStayTime() >= BaseHoldTime ) {
Debug.Log("BaseStayTime: " + DestTriggerBoundary.GetStayTime());
EndTrialSequence();
}
}
// If the player hasn't achieved the hold time in the allotted time
// they fail
}
private string[] GetTableHeader(string filename)
......@@ -190,6 +207,12 @@ public class GameController : MonoBehaviour
ExperimentTrial++;
GoalsChangeColour[GoalSet].GoalState = 0;
Timer = 0;
TrialEnded = false;
}
// Check for any fail conditions here
// Incl: Taking too long to finish, leaving early (disqualification)
private bool FailConditions() {
return true;
}
}
......@@ -22,9 +22,10 @@ public struct TimingSetting {
public class GameController : MonoBehaviour
{
public string TimingSettingFile = @"\Tables\Timings.csv";
public TriggerBoundary mTriggerBoundary;
public TriggerBoundary DestTriggerBoundary;
public SpriteRenderer PlayerSprite;
public GameObject[] Goals;
public GameObject Base;
public bool TrialResult {get; private set;}
private TimingSetting mTimingSetting;
......@@ -38,13 +39,18 @@ public class GameController : MonoBehaviour
private Random GoalSetter = new System.Random(300);
private Random OnsetDeviator = new System.Random(100);
private TriggerBoundary BaseTriggerBoundary;
private float OnsetDev = 0;
private int GoalSet = 0;
private const int NumGoals = 2;
private const int FailTime = 4000; // If exceeds this time including hold time, then the player loses
private const int HoldTime = 1000; // Player must keep their sprite in the goal for this long in order to complete the task
private bool TrialEnded = false;
// If exceeds this time including hold time, then the player loses
private const float FailTime = 4.0f;
// Player must keep their sprite in the goal for this long in order to complete the task
private const float HoldTime = 1.0f;
// Time the player must spend in the base to be considered end of trial
private const float BaseHoldTime = 0.2f;
private bool TrialState = false; // 0: inactive trial, 1: active trial
private GameObject Goal;
void Awake()
......@@ -62,6 +68,8 @@ public class GameController : MonoBehaviour
mTimingSetting = FloatArrayToStruct(TableData,mTimingSetting);
BaseTriggerBoundary = Base.GetComponent<TriggerBoundary>();
PlayerSprite.enabled = true;
for (int i = 0; i < Goals.Length; i++)
......@@ -70,7 +78,6 @@ public class GameController : MonoBehaviour
}
/* GoalSet = GoalSetter.Next(NumGoals); */
/* OnsetDev = OnsetDeviator.Next(mTimingSetting.TargetOnsetDev); */
Debug.Log("GoalSet: " + GoalSet);
}
......@@ -81,6 +88,11 @@ public class GameController : MonoBehaviour
// measure in ms
Timer += dt*1000;
// Timer started ticking? Then the trial has started
if (Timer > 0) {
TrialState = true;
}
if (Timer > mTimingSetting.TrialStart)
{
bool[] states = CheckGoalStates(GoalsChangeColour);
......@@ -108,26 +120,30 @@ public class GameController : MonoBehaviour
GoalsChangeColour[GoalSet].GoalState = 2;
}
// If the player is in the target start counting
DestTriggerBoundary = Goals[GoalSet].GetComponent<TriggerBoundary>();
// If the player hasn't achieved the hold time in the allotted time
// they fail
if (Timer > FailTime)
{
TrialResult = false;
TrialEnded = true;
TrialState = false;
}
else if (Timer <= FailTime && mTriggerBoundary.GetStayTime() >= HoldTime)
else if (Timer <= FailTime && DestTriggerBoundary.GetStayTime() >= HoldTime)
{
TrialResult = true;
TrialEnded = true;
TrialState = false;
}
if (TrialEnded)
if (!TrialState)
{
EndTrialSequence();
// Don't begin the new trial until the user has returned to the
// base position
if ( DestTriggerBoundary.GetStayTime() >= BaseHoldTime ) {
Debug.Log("BaseStayTime: " + DestTriggerBoundary.GetStayTime());
EndTrialSequence();
}
}
// If the player hasn't achieved the hold time in the allotted time
// they fail
}
private string[] GetTableHeader(string filename)
......@@ -191,6 +207,12 @@ public class GameController : MonoBehaviour
ExperimentTrial++;
GoalsChangeColour[GoalSet].GoalState = 0;
Timer = 0;
TrialEnded = false;
}
// Check for any fail conditions here
// Incl: Taking too long to finish, leaving early (disqualification)
private bool FailConditions() {
return true;
}
}
......@@ -4,7 +4,7 @@ using UnityEngine;
public class TriggerBoundary : MonoBehaviour
{
public bool ColliderIsTriggered {get; private set; }
public bool ColliderIsTriggered { get; private set; }
private float time;
......@@ -17,7 +17,7 @@ public class TriggerBoundary : MonoBehaviour
void OnTriggerStay2D(Collider2D collider)
{
ColliderIsTriggered = true;
time += Time.deltaTime;
time += Time.deltaTime/1e3;
}
void OnTriggerExit2D()
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment