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; }
// 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(); } }