/// <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(); }
/// <summary> /// Constructor. /// </summary> public FSMStateDoRepair() { mHpRepairRate = 0.01f; mSetActiveAnimationMsg = new SpriteRender.SetActiveAnimationMessage(); mGetTileToRepairMsg = new FSMEngineer.GetTileToRepairMessage(); mIncrementHealthMsg = new Health.IncrementHealthMessage(); mGetHealthMsg = new Health.GetHealthMessage(); }
/// <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(); }
/// <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(); }