Exemplo n.º 1
0
 void fProtagonistStartAnimate()
 {
     //gAnimationFrame += Time.deltaTime;
     Mathf.Clamp(gAnimationFrame, 0f, vMaxAnimationTime);
     foreach (ControlSystemPerPlayer tChar in vCharlist)
     {
         tChar.cProtaginst.fSetAnimation();
     }
     vCurrentState = eTurnState.ProtagonistAnimation;
 }
Exemplo n.º 2
0
    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;
        }
    }
Exemplo n.º 3
0
    // 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;
        }
    }
Exemplo n.º 4
0
 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);
				}
			}
		}
Exemplo n.º 6
0
        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;*/
            }
        }
Exemplo n.º 7
0
        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;
            }            
        }