void Next() { if(myLastSearch.mySearchee) { myPreviousBeings.Add(myLastSearch); } --mySearcheesToGo; myState = ConveyorBeltStates.Moving; myLastSearch = myCurrentSearch; if(mySearcheesToGo == 0) { if(myState != ConveyorBeltStates.Done) { AssessSession(false); } } else { myCurrentSearch = new Search(); myCurrentSearch.mySearchee = Helper.GetNewBeing(); myCurrentSearch.mySearchee.transform.position = new Vector3(15, 0, 0); myState = ConveyorBeltStates.Moving; } }
void AssessSession(bool aLevelTimerTicked) { myState = ConveyorBeltStates.Done; myPreviousBeings.Clear(); Statistics.myClearedLastLevel = aLevelTimerTicked; Application.LoadLevel("statistics_scene"); }
public void FailBeing() { myState = ConveyorBeltStates.Removing; }
void Update() { if(myState == ConveyorBeltStates.NotMoving) { GameObject.Find("PassButton").GetComponent<PassButton>().Show(); GameObject.Find("FailButton").GetComponent<FailButton>().Show(); } else { GameObject.Find("PassButton").GetComponent<PassButton>().Hide(); GameObject.Find("FailButton").GetComponent<FailButton>().Hide(); } if(mySessionTimer > 0.0f) { mySessionTimer -= Time.deltaTime; switch(myState) { case(ConveyorBeltStates.Moving): { float remainingDistance = myCurrentSearch.mySearchee.transform.position.magnitude; Vector3 movementThisFrame = Vector3.left * myMoveSpeed * Time.deltaTime; if(remainingDistance < movementThisFrame.magnitude) { myCurrentSearch.mySearchee.transform.position = Vector3.zero; myState = ConveyorBeltStates.NotMoving; myCurrentSearch.mySearchee.GetComponent<Being>().Init(); if(myLastSearch.mySearchee) Destroy(myLastSearch.mySearchee); myScanner.SendMessage("Refill"); } else { myCurrentSearch.mySearchee.transform.position += movementThisFrame; if(myLastSearch.mySearchee) myLastSearch.mySearchee.transform.position += movementThisFrame; } break; } case(ConveyorBeltStates.Removing): { float remainingDistance = (myCurrentSearch.mySearchee.transform.position - new Vector3(0, 10, 0)).magnitude; Vector3 movementThisFrame = Vector3.up * myMoveSpeed * Time.deltaTime; if(remainingDistance < movementThisFrame.magnitude) { Next(); } else { myCurrentSearch.mySearchee.transform.position += movementThisFrame; } break; } } } else AssessSession(true); }