public PlayerInputActionController(Atom atom, PlayerInteractionComponent interactionComponent, ScheduleController scheduleController) { Atom = atom; _interactionComponent = interactionComponent; _scheduleController = scheduleController; }
public Atom CreatePlayer(string name, GamePosition position) { var player = new Atom("Player", '@', position); var damagerComponent = new DamagerComponent(player, _eventBus); player.AddComponent(damagerComponent); var interactionComponent = new PlayerInteractionComponent(player, _levelController, damagerComponent, _random); player.AddComponent(interactionComponent); var inputActionController = new PlayerInputActionController(player, interactionComponent, _scheduleController); player.AddComponent(inputActionController); var uniqueComponent = new UniqueAtomComponent(player, name); player.AddComponent(uniqueComponent); var inventoryComponent = new InventoryComponent(player, _levelController, _eventBus); player.AddComponent(inventoryComponent); var agentComponent = new AgentComponent(player); player.AddComponent(agentComponent); return(player); }