Exemplo n.º 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);

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

            mCursor           = new GameObject("GameObjects\\Interface\\PlacementCursor\\PlacementCursor");
            mCursor.pPosition = mParentGOH.pPosition;
            GameObjectManager.pInstance.Add(mCursor);

            mCursorOffset = Vector2.Zero;

            mItemOffset     = new Vector2(-4, -4);
            mItemSourceRect = new Rectangle(0, 0, 8, 8);
            mItemColor      = new Color(255, 255, 255, 200);

            mAbsOffsetRange = def.mAbsOffsetRange;

            mRemoveClassifications = new List <MBHEngineContentDefs.GameObjectDefinition.Classifications>(1);
            mRemoveClassifications.Add(MBHEngineContentDefs.GameObjectDefinition.Classifications.WALL);

            mGetTileAtPositionMsg     = new Level.GetTileAtPositionMessage();
            mGetMapInfoMsg            = new Level.GetMapInfoMessage();
            mSetTileTypeAtPositionMsg = new Level.SetTileTypeAtPositionMessage();
            mGetCurrentObjectMsg      = new Inventory.GetCurrentObjectMessage();
            mOnPlaceObjectMsg         = new OnPlaceObjectMessage();
            mAddObjectMsg             = new Inventory.AddObjectMessage();
            mSelectNextItemMsg        = new Inventory.SelectNextItemMessage();
            mGetTexture2DMsg          = new SpriteRender.GetTexture2DMessage();
            mPeekCurrentObjectMsg     = new Inventory.PeekCurrentObjectMessage();
        }
Exemplo n.º 2
0
 /// <summary>
 /// Constructor.
 /// </summary>
 public FSMStatePatrol()
 {
     mSetTargetObjectMsg    = new PathFollow.SetTargetObjectMessage();
     mGetTileAtPositionMsg  = new Level.GetTileAtPositionMessage();
     mSetDestinationMsg     = new PathFind.SetDestinationMessage();
     mSetSourceMsg          = new PathFind.SetSourceMessage();
     mSetActiveAnimationMsg = new SpriteRender.SetActiveAnimationMessage();
     mSetStateMsg           = new FiniteStateMachine.SetStateMessage();
 }
        /// <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();
        }
Exemplo n.º 4
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="clusterSize">
        /// The number of Tile objects that make up a single wall of a cluster. Assumes square clusters.
        /// </param>
        public NavMesh(Int32 clusterSize)
            : base()
        {
            mClusterSize = clusterSize;

            mPlanner = new Planner();

            // Remember the factory is static so make sure to only allocate it once.
            if (null == mNodeFactory)
            {
                mNodeFactory = new NavMeshTileGraphNodeFactory();
            }

            mGetMapInfoMsg        = new Level.GetMapInfoMessage();
            mGetTileAtPositionMsg = new Level.GetTileAtPositionMessage();
        }