コード例 #1
0
        /// <summary>
        /// The main interface for communicating between behaviours.  Using polymorphism, we
        /// define a bunch of different messages deriving from BehaviourMessage.  Each behaviour
        /// can then check for particular upcasted messahe types, and either grab some data
        /// from it (set message) or store some data in it (get message).
        /// </summary>
        /// <param name="msg">The message being communicated to the behaviour.</param>
        public override void OnMessage(ref BehaviourMessage msg)
        {
            if (msg is GetGunLevelsRemainingMessage)
            {
                GetGunLevelsRemainingMessage temp = (GetGunLevelsRemainingMessage)msg;

                temp.mLevelsRemaining = mDef.mLevels.Length - pNextLevel;
            }
            else
            {
                base.OnMessage(ref msg);
            }
        }
コード例 #2
0
        /// <summary>
        /// The main interface for communicating between behaviours.  Using polymorphism, we
        /// define a bunch of different messages deriving from BehaviourMessage.  Each behaviour
        /// can then check for particular upcasted messahe types, and either grab some data
        /// from it (set message) or store some data in it (get message).
        /// </summary>
        /// <param name="msg">The message being communicated to the behaviour.</param>
        public override void OnMessage(ref BehaviourMessage msg)
        {
            // Which type of message was sent to us?
            if (msg is Health.OnZeroHealthMessage)
            {
                DebugMessageDisplay.pInstance.AddConstantMessage("GAME OVER - Player Died");
            }
            else if (msg is IncrementGunLevelMessage)
            {
                IncrementGunLevelMessage temp = (IncrementGunLevelMessage)msg;

                mGunLevel = System.Math.Min(mGunLevelInfo.Length - 1, mGunLevel + temp.mIncrementAmount_In);
            }
            else if (msg is GetGunLevelsRemainingMessage)
            {
                GetGunLevelsRemainingMessage temp = (GetGunLevelsRemainingMessage)msg;
                temp.mLevelRemaining_In = (mGunLevelInfo.Length - 1) - mGunLevel;
            }
        }