private void AddResourceToFraction(Entity resourceEntity, Army army) { Resource resource = resourceEntity.GetComponent <Resource>(); AddResourceToFractionEvent addResourceToFractionEvent = new AddResourceToFractionEvent(resource, army.Fraction); _eventBus.Post(addResourceToFractionEvent); RemoveResourceOnWorldMapEvent removeResourceOnWorldMapEvent = new RemoveResourceOnWorldMapEvent(resourceEntity); _eventBus.Post(removeResourceOnWorldMapEvent); }
public override void Process(Entity entity, Structure structure, Mine mine) { if (structure.Fraction == null) { return; } Resource resource = new Resource(mine.ResourceDefinition, mine.Production); AddResourceToFractionEvent addResourceToFractionEvent = new AddResourceToFractionEvent(resource, structure.Fraction); _jEventBus.Post(addResourceToFractionEvent); }
private void AnswerToActionListener(ActionResponseEvent actionResponseEvent) { if (!actionResponseEvent.ActionEvent.Action.Definition.Name.Equals("ChestAction")) { return; } Entity owner = actionResponseEvent.ActionEvent.Target; Fraction fraction = owner.GetComponent <Army>().Fraction; int amount = (int)actionResponseEvent.ActionEvent.Action.Params["gold"]; Resource resource = new Resource(new ResourceDefinition("Gold"), amount); AddResourceToFractionEvent addResourceToFractionEvent = new AddResourceToFractionEvent(resource, fraction); _eventBus.Post(addResourceToFractionEvent); }
public void AddResourceListener(AddResourceToFractionEvent addResourceToFractionEvent) { if (addResourceToFractionEvent.Fraction == null) { return; } Fraction fraction = addResourceToFractionEvent.Fraction; Resource resource = addResourceToFractionEvent.Resource; if (!fraction.Resources.ContainsKey(resource.Definition.Name)) { Resource fractionResource = new Resource(resource.Definition, 0); fraction.Resources.Add(resource.Definition.Name, fractionResource); } ChangeResourceAmount(fraction, resource); }