/// <summary> /// A MissionModel indicates some action the user wishes to occur, such as moving an entity to a target destination. /// </summary> /// <param name="action">what will happen</param> /// <param name="protagonist">who will do the action</param> /// <param name="startTime">when the mission can be started</param> /// <param name="start">entity target start state</param> /// <param name="finishTime">when the mission should be finished</param> /// <param name="destination">entity target finish state</param> /// <param name="lateFee">how important it is to finish on time</param> public MissionModel(int id, EnumMissionAction action, FSharpSet<int> doerIds, DateTime startTime, FSharpSet<int> targets, DateTime finishTime, Vector3D destination, float lateFee) { Id = id; Owner = String.Empty; Action = action; DoerIds = doerIds; StartTime = startTime; Targets = targets; FinishTime = finishTime; Destination = destination; LateFee = LateFee; }
public void CreateMission(int id, EnumMissionAction action, FSharpSet<int> doerIds, DateTime startTime, FSharpSet<int> targets, DateTime finishTime, Vector3D destination, float lateFee) { Send(new CreateMission(new MissionModel(id, action, doerIds, startTime, targets, finishTime, destination, lateFee))); }
// convenience constructor often only one actor is involved public MissionModel(int id, EnumMissionAction action, int doerId, DateTime startTime, FSharpSet<int> targets, DateTime finishTime, Vector3D destination, float lateFee) : this(id, action, new FSharpSet<int>(new[] { doerId }), startTime, targets, finishTime, destination, lateFee) { }