private SequencePipe CreatePipe(EPipeType pipeType, int acolor, int param) { SequencePipe pipe = GetPipeFromPool(); pipe.InitPipe(pipeType, acolor, param); Transform pipeTransf = pipe.ATransform; pipeTransf.localScale = new Vector3(PIPES_SCALE, PIPES_SCALE, 1); return(pipe); }
void OnCombineWasMade(EventData e) { // add new pipe to last slot int acolor = (int)e.Data["acolor"]; int param = (int)e.Data["param"]; //bool isdouble = (bool)e.Data["double"]; SequencePipe pipe = GetPipeFromPool(); pipe.InitPipe(EPipeType.Colored, acolor, param); Transform pipeTransf = pipe.ATransform; pipeTransf.localScale = new Vector3(PIPES_SCALE, PIPES_SCALE, 1); pipeTransf.localPosition = _slotsPoses[_lastSlot]; // move prev pipes to the left for (int i = 1; i <= SIZE; ++i) { if (_sequence[i] == null) { continue; } int newi = i - 1; SequencePipe p = _sequence[i]; GameObject pobj = p.AGameObject; LeanTween.cancel(p.gameObject); if (newi == 0) { // move to the left and remove LeanTween.moveLocalX(pobj, _slotsPoses[newi].x, MOVE_SPEED) .setOnComplete ( () => { pobj.SetActive(false); } ); } else { // just move to the left _sequence[newi] = p; LeanTween.moveLocalX(pobj, _slotsPoses[newi].x, MOVE_SPEED); } } // move new pipe _sequence[SIZE] = pipe; LeanTween.moveLocalX(pipe.AGameObject, _slotsPoses[SIZE].x, MOVE_SPEED) .setOnComplete ( () => { CheckIfSomeSequenceCompleted(); } ); // }