Exemple #1
0
    public void ShiftLeft()
    {
        if (currState == SELECTOR_STATE.IDLE)
        {
            currState = SELECTOR_STATE.SHIFT;

            // CALCULATE NEW CASSETTES
            int[] _active     = new int[5];
            int   _prevActive = int.Parse(activeSlot.transform.GetChild(0).name);
            //Debug.Log("NEW ACTIVE");
            int _newActive = calculateWrap(_prevActive, 1);

            //Debug.Log("NEW LEFT");
            int _newRight = calculateWrap(_newActive, 1);
            //Debug.Log("NEW LEFTQ");
            int _rightQ = calculateWrap(_newActive + 1, 1);

            int _newLeft = _prevActive;
            //Debug.Log("NEW RIGHTQ");
            int _leftQ = calculateWrap(_prevActive, -1);

            _active[0] = _leftQ;
            _active[1] = _newLeft;
            _active[2] = _newActive;
            _active[3] = _newRight;
            _active[4] = _rightQ;

            //Debug.Log(_leftQ + "  <<<  " + _newLeft + "  <<<  " + _newActive + "  <<<  " + _newRight + "  <<<  " + _rightQ);


            // 8  |  0  |  1  |  2  |  3

            // CALCULATE INACTIVE CASSETTES
            int[] _inactive = new int[cassetteStock];

            int temp = _rightQ;
            for (int i = 0; i < cassetteStock; ++i)
            {
                temp = ++temp;

                if (temp > cassettes.Count - 1)
                {
                    temp = 0;
                }

                if (temp < 0)
                {
                    temp = cassettes.Count - 1;
                }

                _inactive[i] = temp;

                //print(_inactive[i].ToString());
            }

            FMODUnity.RuntimeManager.PlayOneShot(cartridgeScrollLeft);

            StartCoroutine(Shift(_inactive, _active));
        }
    }
Exemple #2
0
 void SetState(SELECTOR_STATE state)
 {
     currState   = state;
     DEBUG_STATE = state.ToString();
 }