void OnRelease() { if (currentTowerElement != null) { if (LoseCheck(LoseCheckType.MoveEnd)) { if (PerfectMoveCheck()) { OnPerfectMove(); } else { OnNormalMove(); } previousTowerElement = currentTowerElement; currentTowerElement = null; pool.ExpandNeedCheck(); } else { Lose(); } } }
void Lose() { InputControler.Instance.isInputEnabled = false; var failedElement = currentTowerElement; currentTowerElement = null; //change lose material to red loseElementMaterial.SetTexture("_MainTex", failedElement.obj.GetComponent <MeshRenderer>().material.mainTexture); failedElement.obj.GetComponent <MeshRenderer>().material = loseElementMaterial; StartCoroutine(DestroyLoseElement(failedElement.obj)); }
void OnTap() { currentTowerElement = pool.GetNextPoolItem(); SetCurrentElement(); CameraControler.Instance.SetLookAt(currentTowerElement.obj); }
void Restart() { previousTowerElement = null; }
TowerPoolItem CastToTowerPoolItem(IpoolItem item) { return(item as TowerPoolItem); }