Ejemplo n.º 1
0
    void OnRelease()
    {
        if (currentTowerElement != null)
        {
            if (LoseCheck(LoseCheckType.MoveEnd))
            {
                if (PerfectMoveCheck())
                {
                    OnPerfectMove();
                }
                else
                {
                    OnNormalMove();
                }

                previousTowerElement = currentTowerElement;
                currentTowerElement  = null;
                pool.ExpandNeedCheck();
            }
            else
            {
                Lose();
            }
        }
    }
Ejemplo n.º 2
0
    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));
    }
Ejemplo n.º 3
0
 void OnTap()
 {
     currentTowerElement = pool.GetNextPoolItem();
     SetCurrentElement();
     CameraControler.Instance.SetLookAt(currentTowerElement.obj);
 }
Ejemplo n.º 4
0
 void Restart()
 {
     previousTowerElement = null;
 }
Ejemplo n.º 5
0
 TowerPoolItem CastToTowerPoolItem(IpoolItem item)
 {
     return(item as TowerPoolItem);
 }