public void ReplacePlayerDecision(GameLogic.GameCore.Decision newDecision, Osnowa.Osnowa.Core.Position newDirection, Osnowa.Osnowa.Core.Position newPosition) { var index = GameComponentsLookup.PlayerDecision; var component = (Osnowa.Osnowa.Core.ECS.Input.PlayerDecisionComponent)CreateComponent(index, typeof(Osnowa.Osnowa.Core.ECS.Input.PlayerDecisionComponent)); component.Decision = newDecision; component.Direction = newDirection; component.Position = newPosition; ReplaceComponent(index, component); }
public GameEntity SetPlayerDecision(GameLogic.GameCore.Decision newDecision, Osnowa.Osnowa.Core.Position newDirection, Osnowa.Osnowa.Core.Position newPosition) { if (hasPlayerDecision) { throw new Entitas.EntitasException("Could not set PlayerDecision!\n" + this + " already has an entity with Osnowa.Osnowa.Core.ECS.Input.PlayerDecisionComponent!", "You should check if the context already has a playerDecisionEntity before setting it or use context.ReplacePlayerDecision()."); } var entity = CreateEntity(); entity.AddPlayerDecision(newDecision, newDirection, newPosition); return(entity); }
public void ReplacePlayerDecision(GameLogic.GameCore.Decision newDecision, Osnowa.Osnowa.Core.Position newDirection, Osnowa.Osnowa.Core.Position newPosition) { var entity = playerDecisionEntity; if (entity == null) { entity = SetPlayerDecision(newDecision, newDirection, newPosition); } else { entity.ReplacePlayerDecision(newDecision, newDirection, newPosition); } }