public WorkOrderBase GetOrder(WorkOption option, int amount) { var type = WorkHelper.GetTypeFor(Definition.WorkOrderType); var order = Activator.CreateInstance(type, null) as WorkOrderBase; order.Name = $"{Definition.Name} : {option.Name}"; order.Option = option; order.Amount = amount; order.Skill = Definition.RequiredSkillName; order.StructureId = Id; return(order); }
public void AddWorkOrder(int amount, WorkOption option) { var orderBase = GetOrder(option, amount); orderBase.Amount = amount; switch (Definition.OrderTrigger) { case OrderTrigger.AutoCondition: case OrderTrigger.Auto: PlaceAutoOrder(orderBase); break; case OrderTrigger.Manual: Orders.Add(orderBase); break; } }