public BehaviourTreeNode( Game1 game, GameObject parent, BehaviourNodeType type) { this._type = type; this._state = BehaviourNodeState.Ready; this._children = new List<BehaviourTreeNode>(); this._behaviourComponent = (BehaviourComponent)parent.GetComponent(ComponentType.Behaviour); this._parent = parent; this._game = game; }
public static GameObject BuildComputerControlledEntity( Game1 game, int playerNumber, Color playerColor, Vector2 position, float rotation, Vector2 scale, float maxGroundSpeed, float maxAirSpeed, SpriteType spriteType, List<Shape> boundingBoxes, Dictionary<ActionDefinition, ActionInfo> actionsInformationList, GameObject opponent) { GameObject entity = DynamicEntityFactory.BuildCharacterEntity( game, playerNumber, playerColor, position, rotation, scale, maxGroundSpeed, maxAirSpeed, spriteType, boundingBoxes, actionsInformationList ); AIControllerComponent aiComponent = new AIControllerComponent(entity); AStarComponent aStarComponent = new AStarComponent(entity); BehaviourComponent behaviourComponent = new BehaviourComponent( entity, BehaviourFactory.Easy( game, entity, opponent )); SoundComponent soundComponent = new SoundComponent(entity); entity.AddComponent(aiComponent); entity.AddComponent(aStarComponent); entity.AddComponent(behaviourComponent); return entity; }