public static void UpdateTruckTable() // Separated from Update() so it can be called at will. { //byte focusResource = 103; //Glass byte focusResource = CargoSpyPanel.Instance.m_selectedResource; byte focusResource2 = CargoSpyPanel.Instance.m_selectedResource2; if (focusResource == 255) { return; } uint ind = 0; string sourceB; string targetB; InstanceID emptyInst = InstanceID.Empty; //saves some instantiation? TruckList.Clear(); bool hideDummy = false; for (ushort i = 0; i < VehicleManager.MAX_VEHICLE_COUNT; i++) // 16384 items { Vehicle vehicle = VehicleManager.instance.m_vehicles.m_buffer[i]; hideDummy = CargoSpyPanel.Instance.m_hideTransit && ((vehicle.m_flags & Vehicle.Flags.DummyTraffic) != 0); byte myType = vehicle.m_transferType; if (hideDummy == false && (myType == focusResource || (myType == focusResource2 && focusResource2 != 0))) // Should eventually recognize multiple resources (e.g ZI Ore = 14 & 19) { ind++; ushort sourceID = vehicle.m_sourceBuilding; if (sourceID != 0) { sourceB = BuildingManager.instance.GetBuildingName(sourceID, emptyInst); } else { sourceB = "none"; } ushort targetID = vehicle.m_targetBuilding; if (targetID != 0) { targetB = BuildingManager.instance.GetBuildingName(targetID, emptyInst); } else { targetB = "none"; } if (sourceB != "none" || targetB != "none") { TruckItem ti = new TruckItem(i.ToString(), vehicle.m_transferSize, vehicle.m_transferType.ToString(), sourceB, targetB); TruckList.Add(ti); } } } }
public static void UpdateBuildingTable() { ushort focusBuilding = CargoSpyPanel.Instance.m_selectedBuilding; uint ind = 0; string sourceB; string targetB; InstanceID emptyInst = InstanceID.Empty; //saves some instantiation? TruckList.Clear(); for (ushort i = 0; i < VehicleManager.MAX_VEHICLE_COUNT; i++) { Vehicle vehicle = VehicleManager.instance.m_vehicles.m_buffer[i]; ushort sourceID = vehicle.m_sourceBuilding; ushort targetID = vehicle.m_targetBuilding; if (sourceID == focusBuilding || targetID == focusBuilding) // && vehicle.m_transferSize > 0) { ind++; if (sourceID != 0) { sourceB = BuildingManager.instance.GetBuildingName(sourceID, emptyInst); } else { sourceB = "none"; } if (targetID != 0) { targetB = BuildingManager.instance.GetBuildingName(targetID, emptyInst); } else { targetB = "none"; } if (sourceB != "none" || targetB != "none") { TruckItem ti = new TruckItem(i.ToString(), vehicle.m_transferSize, vehicle.m_transferType.ToString(), sourceB, targetB); TruckList.Add(ti); } } } }
public void Display(object data, bool isRowOdd) //Required by UIFastList { myTruck = data as TruckItem; if (tp_listLine == null) { BuildTruckLine(isRowOdd); } tp_listLine.name = "Pnl" + myTruck.vehicle; tp_listTruck.name = "Truck" + myTruck.vehicle; tp_listTruck.text = myTruck.vehicle; tp_listAmount.name = "Amount" + myTruck.vehicle; tp_listAmount.text = myTruck.amount.ToString(); tp_listResource.name = "Resource" + myTruck.vehicle; tp_listResource.text = myTruck.resource; tp_listSource.name = "Source" + myTruck.vehicle; tp_listSource.text = myTruck.source; tp_listTarget.name = "Target" + myTruck.vehicle; tp_listTarget.text = myTruck.target; return; }