void fProtagonistStartAnimate() { //gAnimationFrame += Time.deltaTime; Mathf.Clamp(gAnimationFrame, 0f, vMaxAnimationTime); foreach (ControlSystemPerPlayer tChar in vCharlist) { tChar.cProtaginst.fSetAnimation(); } vCurrentState = eTurnState.ProtagonistAnimation; }
public void SetTurnObjectUpt(eTurnState eTurn) { switch (eTurn) { case eTurnState.E_TURN_MY: m_pTurnObj.transform.localPosition = m_pTurnPosObj[0].transform.localPosition; break; case eTurnState.E_TURN_YOUR: m_pTurnObj.transform.localPosition = m_pTurnPosObj[1].transform.localPosition; break; } }
// Update is called once per frame void Update() { //bool vContinue; int tCount = 0; vCount = 0; switch (vCurrentState) { case eTurnState.ProtagonistInputWait: fProtagonistInputWait(); break; case eTurnState.ProtagonistStartAnimate: fProtagonistStartAnimate(); Debug.Log("StartAnimate"); // Conflict Check ( break; case eTurnState.ProtagonistAnimation: //Debug.Log("Animate"); foreach (ControlSystemPerPlayer tChar in vCharlist) { if (tChar.cProtaginst.vIsAnimating) { tCount++; } } if (tCount == 0) { vCurrentState = eTurnState.ProtagonistEndAnimate; } break; case eTurnState.ProtagonistEndAnimate: Debug.Log("EndAnimate"); vCurrentState = eTurnState.ProtagonistInputWait; break; case eTurnState.SubEventStart: //vBlockList = GameObject.FindGameObjectsWithTag("Block"); vCurrentState = eTurnState.SubEventAnimate; break; case eTurnState.SubEventAnimate: if (vBlockCount <= 0) { vCurrentState = eTurnState.ProtagonistInputWait; } break; } }
void fProtagonistInputWait() { vCount = 0; foreach (ControlSystemPerPlayer tChar in vCharlist) { if (tChar.cProtaginst.vAction == "None") { //if (!tChar.cProtaginst.vIsAnimating) vCount++; } } if (vCount == 0) { fProtagonistStartAnimate(); vCurrentState = eTurnState.ProtagonistStartAnimate; // gAnimationFrame = 0f; } }
private void SetActivePlayer(PlayerDetails activePlayer) { // If the player is our IP Address AND is active then it is our turn. if (activePlayer.IpAddress == m_localNetwork.IpAddress && activePlayer.Active) { m_turnState = eTurnState.PlayersTurn; if (TurnIndicator != null) { TurnIndicator("Your Turn"); } } else { m_turnState = eTurnState.OpponentsTurn; if (TurnIndicator != null) { TurnIndicator("Waiting on " + activePlayer.Name); } } }
public void PlayAction(IAction aAction) { switch((eActionType)aAction.GetActionType()) { case eActionType.eAT_MarkDiceForReroll: { CActionMarkDiceForReroll markDiceAction = (CActionMarkDiceForReroll)aAction; foreach (int diceIndex in markDiceAction.DiceToRerollIndexList) { Dice[diceIndex].ShouldReroll = true; } _turnState = _nbDiceRollsLeft == 0 ? eTurnState.eTS_EndingTurn : eTurnState.eTS_RollingDice; } break; /*case eActionType.eAT_ReactToDamageOnTokyo: { CActionReactToDamageOnTokyo reactToDamage = (CActionReactToDamageOnTokyo)aAction; } break;*/ } }
public void Tick() { switch(_turnState) { case eTurnState.eTS_StartingTurn: { if (CurrentPlayer.Location != eLocations.eL_Outside) { CurrentPlayer.AdjustVictoryPoints(VPRewardBeginTurnInTokyo); } } goto case eTurnState.eTS_InitialRollingDice; case eTurnState.eTS_InitialRollingDice: { foreach (CDice die in _diceList) { die.Roll(); } _nbDiceRollsLeft--; _turnState = eTurnState.eTS_ReactToDicePlayerHook; } break; case eTurnState.eTS_RollingDice: { foreach (CDice die in _diceList) { if (die.ShouldReroll) { die.Roll(); die.ShouldReroll = false; } } _nbDiceRollsLeft--; _turnState = eTurnState.eTS_ReactToDicePlayerHook; } break; case eTurnState.eTS_EndingTurn: { CalculateAndApplyDiceResult(); // STODO: Implement eTurnState.eTS_PurchaseCardsPlayerHook LogGameState(); if (!IsGameCompleted()) { _nbDiceRollsLeft = DefaultRollsCount; _totalTurnID++; do { _currentPlayerIndex = (_currentPlayerIndex + 1) % (uint)Players.Count; if (_currentPlayerIndex == _startingPlayerIndex) { _turnID++; } } while (!CurrentPlayer.IsAlive()); } } goto case eTurnState.eTS_StartingTurn; case eTurnState.eTS_ReactToDicePlayerHook: case eTurnState.eTS_ApplyDamageOnTokyoPlayerHook: case eTurnState.eTS_PurchaseCardsPlayerHook: { Debug.Assert(false, "CGame - Tick: Should not be called while an action is expected."); } break; } }