public static void RegisterCallback(UnityAction callback) { int order = GetUpdateOrder(callback); lock (s_OrderBlocks) { int i = 0; for (; i < s_OrderBlocks.Count && (s_OrderBlocks[i].order <= order); i++) { if (s_OrderBlocks[i].order == order) { OrderBlock element = s_OrderBlocks[i]; element.callback += callback; s_OrderBlocks[i] = element; return; } } var newElement = new OrderBlock(); newElement.order = order; newElement.callback += callback; s_OrderBlocks.Insert(i, newElement); } }
private List <Order> Transfer(OrderBlock block) { List <Order> results = new List <Order>(); block.Order.All( delegate(Quotation.Order t) { results.Add(Transfer(t)); return(true); }); return(results); }
internal OrderBlockDto ConvertOrderBlockForView(OrderBlock block) { var blockDto = new OrderBlockDto() { Id = block.Id, IsMachining = block.IsMachining, ProductionItemId = block.ProductionItemId, ProductionItemsCount = block.ProductionItemsCount, ProductionItemsName = block.ProductionItemsName, Duration = block.Duration, StartTime = block.StartTime, GroupBlocks = block.GroupBlocks.Select(b => ConvertGroupBlockForView(b)).ToList() }; return(blockDto); }
public static void UnregisterCallback(UnityAction callback) { int order = GetUpdateOrder(callback); lock (s_OrderBlocks) { for (int i = 0; i < s_OrderBlocks.Count && (s_OrderBlocks[i].order <= order); i++) { if (s_OrderBlocks[i].order == order) { OrderBlock element = s_OrderBlocks[i]; element.callback -= callback; s_OrderBlocks[i] = element; if (element.callback == null) { s_OrderBlocks.RemoveAt(i); } return; } } } }