Example #1
0
    void Update()
    {
        if (state == MoveableWallState.OneToTwo)
        {
            distCovered        = (Time.time - startTime) * speed;
            fractionOfJourney  = distCovered / journeyLength;
            transform.position = Vector3.Lerp(pos1, pos2, fractionOfJourney);
            if (fractionOfJourney > 0.99f)
            {
                state = MoveableWallState.Pos2;
                if (!isActivated)
                {
                    state     = MoveableWallState.TwoToOne;
                    startTime = Time.time;
                }
            }
        }


        if (state == MoveableWallState.TwoToOne)
        {
            distCovered        = (Time.time - startTime) * speed;
            fractionOfJourney  = distCovered / journeyLength;
            transform.position = Vector3.Lerp(pos2, pos1, fractionOfJourney);
            if (fractionOfJourney > 0.99f)
            {
                state = MoveableWallState.Pos1;
                if (isActivated)
                {
                    state     = MoveableWallState.OneToTwo;
                    startTime = Time.time;
                }
            }
        }
    }
Example #2
0
 override public void Activate()
 {
     isActivated = true;
     if (state == MoveableWallState.Pos1)
     {
         state     = MoveableWallState.OneToTwo;
         startTime = Time.time;
     }
     UpdateLights();
 }
Example #3
0
    override public void Desactivate()
    {
        isActivated = false;
        if (state == MoveableWallState.Pos2)
        {
            state     = MoveableWallState.TwoToOne;
            startTime = Time.time;
        }
        if (stopImmediatly)
        {
            state     = MoveableWallState.TwoToOne;
            startTime = Time.time - (1 - fractionOfJourney) * journeyLength / speed;
        }

        UpdateLights();
    }