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)); } }
void SetState(SELECTOR_STATE state) { currState = state; DEBUG_STATE = state.ToString(); }