Ejemplo n.º 1
0
    public PowerUpState OneRewind()
    {
//        PowerUpState newState = _states[_states.Count - 1];
//      _states.RemoveAt(_states.Count - 1);
        //  return newState;



        ChangedFieldsCollection psd = _stateTransitions[_stateTransitions.Count - 1];

        PowerUpState previousState = (PowerUpState)sd.CurrentState.RetrievePreviousState(psd);// PlayerState.SubtractFromPlayerState(new PlayerState(), psd);



        //Debug.Log("previous state powerups " + previousState.NumOfPowerUps);//.Count);

        sm.PutObjectInState(previousState);// new PlayerState(newState));



        _stateTransitions.RemoveAt(_stateTransitions.Count - 1);
        //        _statesRemovedDuringRewinding++;

        _numOfStates--; //   _linePositions.RemoveAt(_linePositions.Count - 1);
                        //      StatesChangedSoUpdateLineRenderer();


        return(previousState);
        //  return -1; //minus one indicates that we haven't finished rewinding yet
    }