Ejemplo n.º 1
0
    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;
        }
    }
Ejemplo n.º 2
0
 void AssessSession(bool aLevelTimerTicked)
 {
     myState = ConveyorBeltStates.Done;
     myPreviousBeings.Clear();
     Statistics.myClearedLastLevel = aLevelTimerTicked;
     Application.LoadLevel("statistics_scene");
 }
Ejemplo n.º 3
0
 public void FailBeing()
 {
     myState = ConveyorBeltStates.Removing;
 }
Ejemplo n.º 4
0
    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);
    }