public void EnqueueProductionMissionTarget(MissionTargetType targetType, Character character, int locationId, int?definition = null, int?quantity = null) { if (locationId <= 0) { return; //gamma or something unknown } Logger.Info("++ Enqueue mission target type " + targetType + " characterId:" + character.Id + " definition:" + definition + " quantity:" + quantity); var data = new Dictionary <string, object> { { k.characterID, character.Id }, { k.type, targetType }, { k.locationID, locationId }, { k.useGang, 1 } //spread this action to gang within the mission engine }; if (definition != null) { data.Add(k.definition, (int)definition); } if (quantity != null) { data.Add(k.quantity, (int)quantity); } _missionProcessor.EnqueueMissionTargetAsync(data); }
public static void MissionAdvanceDockInTarget(int characterId, int zoneId, Position position) { var data = new Dictionary <string, object> { { k.type, MissionTargetType.dock_in }, { k.zoneID, zoneId }, { k.position, position }, { k.characterID, characterId }, { k.completed, true }, }; MissionProcessor.EnqueueMissionTargetAsync(data); Logger.Info(">>>>>> dock in mission target sent to mission engine for character: " + characterId + " " + zoneId + " position: " + position.ToDoubleString2D()); }
/// <summary> /// Informs the mission engine that a certain target is delivered /// </summary> public void EnqueueProgressInfo() { _missionProcessor.EnqueueMissionTargetAsync(missionOwnerCharacter, MissionTargetType.fetch_item, AddKeys); }