public void OnPointerClick(PointerEventData eventData) { if (!isDead && !IngameSubmitButtonManager.GetIngameSubmitButtonManager().IsWaiting() && ClientNetworkingManager.GetClientNetworkingManager().PlayerId == unitData.owningPlayerId) { ClientGameLogicManager logicManager = ClientGameLogicManager.GetClientLogicFromScene(); if (logicManager.CurrentServerSideState.CurrentPhase == GamePhase.Planning) { if (destination == null) { SelectedUnit = this; } else { SetDestinationTileController(null); } playClickedSound(); } else if (logicManager.CurrentServerSideState.CurrentPhase == GamePhase.Revision) { List <GameAction> gameActions = logicManager.QueuedGameActionsRevision; for (int i = 0; i < gameActions.Count; i++) { if (gameActions[i].UnitId == unitData.unitId) { gameActions[i].moveToPositions.Clear(); } } // CLICK IT! FindObjectOfType <IngameSubmitButtonManager>().SubmitTurn(); } } }
public void SubmitTurn() { if (hasFinished) { SceneManager.LoadScene(0); } else { advanceButton.interactable = false; advanceButtonText.text = "Wait"; var clientGameLogicManager = ClientGameLogicManager.GetClientLogicFromScene(); var actions = clientGameLogicManager.QueuedGameActionsPlanning; if (clientGameLogicManager.CurrentServerSideState.CurrentPhase == GamePhase.Revision) { actions = clientGameLogicManager.QueuedGameActionsRevision; } ClientNetworkingManager.GetClientNetworkingManager().SendActions(actions); clientGameLogicManager.QueuedGameActionsRevision = new List <GameAction>(clientGameLogicManager.QueuedGameActionsPlanning); UnitController[] unitControllers = FindObjectsOfType <UnitController>(); for (int i = 0; i < unitControllers.Length; i++) { unitControllers[i].SetDestinationTileController(null); } } }
void Start() { advanceButton = GameObject.Find("AdvanceButton").GetComponent <Button>(); advanceButtonText = advanceButton.GetComponentInChildren <Text>(); ClientGameLogicManager.GetClientLogicFromScene().PlayerMayInteractHandler += UnlockButton; }
// Use this for initialization void Start() { textField = gameObject.GetComponent <Text>(); clientGameLogicManager = ClientGameLogicManager.GetClientLogicFromScene(); clientGameLogicManager.StateUpdatedHandler += OnStateChanged; }