コード例 #1
0
        /// <summary>
        /// Call this to initialize a Behaviour with data supplied in a file.
        /// </summary>
        /// <param name="fileName">The file to load from.</param>
        public override void LoadContent(String fileName)
        {
            base.LoadContent(fileName);

            DamageFlashDefinition def = GameObjectManager.pInstance.pContentManager.Load <DamageFlashDefinition>(fileName);

            mDamageCooldown           = StopWatchManager.pInstance.GetNewStopWatch();
            mDamageCooldown.pLifeTime = def.mFramesToReset;

            mColorCooldown           = StopWatchManager.pInstance.GetNewStopWatch();
            mColorCooldown.pLifeTime = def.mFramesBetweenColorChange;

            // We don't want the damage effect to play until they start taking damage.
            mDamageCooldown.pIsPaused = true;

            if (def.mFramesToReset < def.mFramesBetweenColorChange)
            {
                Debug.Assert(false, "mFramesBetweenColorChange must be less than mFramesToReset.");

                def.mFramesBetweenColorChange = def.mFramesToReset;
            }

            mColors       = def.mColors;
            mCurrentColor = 0;

            mSetTintMsg   = new SpriteRender.SetTintMessage();
            mGetHealthMsg = new Health.GetHealthMessage();
        }
コード例 #2
0
        /// <summary>
        /// Constructor.
        /// </summary>
        public FSMStateDoRepair()
        {
            mHpRepairRate = 0.01f;

            mSetActiveAnimationMsg = new SpriteRender.SetActiveAnimationMessage();
            mGetTileToRepairMsg    = new FSMEngineer.GetTileToRepairMessage();
            mIncrementHealthMsg    = new Health.IncrementHealthMessage();
            mGetHealthMsg          = new Health.GetHealthMessage();
        }
コード例 #3
0
        /// <summary>
        /// Call this to initialize a Behaviour with data supplied in a file.
        /// </summary>
        /// <param name="fileName">The file to load from.</param>
        public override void LoadContent(String fileName)
        {
            base.LoadContent(fileName);

            mTextureBG        = GameObjectManager.pInstance.pContentManager.Load <Texture2D>("Sprites\\Interface\\HealthBarBG");
            mTextureBorder    = GameObjectManager.pInstance.pContentManager.Load <Texture2D>("Sprites\\Interface\\HealthBarBorder");
            mTextureBorderEnd = GameObjectManager.pInstance.pContentManager.Load <Texture2D>("Sprites\\Interface\\HealthBarBorderEnd");
            mTextureFill      = GameObjectManager.pInstance.pContentManager.Load <Texture2D>("Sprites\\Interface\\HealthBarFill");

            mFillRect = new Rectangle(0, 0, mTextureFill.Width, mTextureFill.Height);
            mBGRect   = new Rectangle(0, 0, mTextureBG.Width, mTextureBG.Height);

            mGetHealthMsg = new Health.GetHealthMessage();
        }
コード例 #4
0
        /// <summary>
        /// Constructor.
        /// </summary>
        public FSMStateRepair()
        {
            mDamagedTiles        = new List <Level.Tile>(16);
            mFoundTileObjects    = new List <GameObject>(1);
            mTileClassifications = new List <GameObjectDefinition.Classifications>(1);
            mTileClassifications.Add(GameObjectDefinition.Classifications.WALL);

            mSetTargetObjectMsg    = new PathFollow.SetTargetObjectMessage();
            mGetTileAtPositionMsg  = new Level.GetTileAtPositionMessage();
            mSetDestinationMsg     = new PathFind.SetDestinationMessage();
            mSetSourceMsg          = new PathFind.SetSourceMessage();
            mSetActiveAnimationMsg = new SpriteRender.SetActiveAnimationMessage();
            mSetStateMsg           = new FiniteStateMachine.SetStateMessage();
            mGetHealthMsg          = new Health.GetHealthMessage();
            mSetTileToRepairMsg    = new FSMEngineer.SetTileToRepairMessage();
        }