예제 #1
0
 public void ProcessCommand(Action action)
 {
     if (activeUnit == null)
     {
         return;
     }
     activeUnit.processingCommand = false;
     action();
     foreach (List <Tile> row in tiles)
     {
         foreach (Tile tile in row)
         {
             if (tile != null)
             {
                 tile.GetComponent <Renderer>().material = defaultMat;
             }
         }
     }
     activeUnit.nextTurnTime += activeUnit.timeForActions;
     SelectionParticle.GetComponent <ParticleSystem>().enableEmission = false;
     foreach (EffectContainer e in activeUnit.effectContainers)
     {
         e.effect.onTurnEnd(activeUnit);
     }
     activeUnit = null;
 }
예제 #2
0
    // Update is called once per frame
    void Update()
    {
        if (tempTurnQueueBar.buttons.Count == 0)
        {
            tempTurnQueueBar.Initialize(units);
        }

        AnotherUpdate();
        if (HasTask)
        {
            if (tasks[0].update())
            {
                tasks[0].OnExit();
                tasks.RemoveAt(0);
            }
        }
        else if (activeUnit == null)
        {
            LossCheck();
            WinCheck();
            GetNextActiveUnit();
            cam.focused = activeUnit.transform;
            PassTurnButton.onClick.RemoveAllListeners();
            PassTurnButton.onClick.AddListener(() => {
                if (activeUnit != null)
                {
                    activeUnit.Passturn();
                }
            });
            if (activeUnit.aiControlled)
            {
                tempActionBar.GetComponent <Animator>().SetBool("Up", false);
            }
            else
            {
                tempActionBar.GetComponent <Animator>().SetBool("Up", true);
                tempActionBar.LoadUnit(activeUnit);
            }

            tempTurnQueueBar.NewTurn(units);
            activeUnit.CalculateReachableTiles();
            SelectionParticle.GetComponent <ParticleSystem>().enableEmission = true;
            SelectionParticle.transform.position = activeUnit.transform.position;
            SelectionParticle.transform.parent   = activeUnit.transform;
            activeUnit.RequestCommand();
        }
    }