private IEnumerator TargetStratPoint() { yield return(null); Deselect(); player.userInput.SelectedObjects.Remove(this as WorldObject); player.units.selectedUnits.Remove(this as Unit); StrategicPoint stratPoint = target as StrategicPoint; StartMoving(stratPoint.transform.position); while (target && target as StrategicPoint == stratPoint && (!mainCollider.bounds.Intersects(target.mainCollider.bounds) || stratPoint.occupied && !stratPoint.IsOwnedBy(GetSpecies()))) { yield return(null); } if (target && target as StrategicPoint == stratPoint && mainCollider.bounds.Intersects(target.mainCollider.bounds)) { if (selected) { Deselect(); player.userInput.SelectedObjects.Remove(this as WorldObject); player.units.RemoveFromSelectedUnits(this as Unit); } if (stratPoint.occupied) { stratPoint.ChangeLocalPopulation(currPopCount); } else { stratPoint.Occupy(player, currPopCount); } player.RemoveFromWOsDick(this as WorldObject); Destroy(gameObject); } }
public void StartTraining() { if (popCount > 0) { foreach (GameObject go in addMinusButtons) { go.SetActive(false); } checkButton.gameObject.SetActive(false); settingPopCount = false; button.interactable = true; button.image.color = Color.white; secondaryText.text = ""; cancelButton.onClick.SetPersistentListenerState(0, UnityEngine.Events.UnityEventCallState.Off); cancelButton.onClick.SetPersistentListenerState(1, UnityEngine.Events.UnityEventCallState.RuntimeOnly); // TrainingProgressBar.OpenBar (); stratpt.ChangeLocalPopulation(-popCount); stratpt.StartTrainingNewCaravan(popCount); } }