Example #1
0
        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);
                    }
                }
            }
        }
Example #2
0
        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;
        }