Exemple #1
0
        private void updateCheckboxes()
        {
            bool oldIsLoading = isLoading;

            isLoading = true;
            DepotAI       depotAI            = Singleton <BuildingManager> .instance.m_buildings.m_buffer[m_buildingIdSelecionado.Building].Info.GetAI() as DepotAI;
            List <string> prefixOptions      = TLMUtils.getDepotPrefixesOptions(TLMCW.getConfigIndexForTransportInfo(m_secondary ? depotAI.m_secondaryTransportInfo : depotAI.m_transportInfo));
            var           prefixesServedList = TLMDepotAI.getPrefixesServedByDepot(m_buildingIdSelecionado.Building, m_secondary);

            for (uint i = 0; i <= 64; i++)
            {
                if (i < prefixOptions.Count)
                {
                    prefixesCheckboxes[i].isVisible = true;
                    prefixesCheckboxes[i].isChecked = prefixesServedList.Contains(i);
                    prefixesCheckboxes[i].text      = prefixOptions[(int)i];
                }
                else
                {
                    prefixesCheckboxes[i].isVisible = false;
                }
            }
            prefixesCheckboxes[65].isChecked = prefixesServedList.Contains(65);
            isLoading = oldIsLoading;
        }
Exemple #2
0
        public void RefreshData()
        {
            if (Singleton <BuildingManager> .exists)
            {
                m_prefixesServedList = TLMDepotAI.getPrefixesServedByDepot(m_buildingID);
                if (m_prefixesServedList == null)
                {
                    GameObject.Destroy(gameObject); return;
                }
                bool isRowVisible;

                isRowVisible = TLMPublicTransportDetailPanel.instance.isOnCurrentPrefixFilter(m_prefixesServedList);

                if (!isRowVisible)
                {
                    GetComponent <UIComponent>().isVisible = false;
                    return;
                }
                GetComponent <UIComponent>().isVisible = true;
                Building b = Singleton <BuildingManager> .instance.m_buildings.m_buffer[this.m_buildingID];
                this.m_depotName.text = Singleton <BuildingManager> .instance.GetBuildingName(this.m_buildingID, default(InstanceID));

                byte districtID = Singleton <DistrictManager> .instance.GetDistrict(b.m_position);

                string districtName = districtID == 0 ? Locale.Get("TLM_DISTRICT_NONE") : Singleton <DistrictManager> .instance.GetDistrictName(districtID);

                this.m_districtName.text = districtName;

                //prefix
                this.m_prefixesServed.text = TLMUtils.getPrefixesServedAbstract(this.m_buildingID);

                List <string> prefixOptions = TLMUtils.getDepotPrefixesOptions(TLMCW.getConfigIndexForTransportInfo((b.Info.GetAI() as DepotAI).m_transportInfo));
                prefixOptions.Add(Locale.Get("TLM_REGIONAL"));
                if (this.m_prefixOptions.items.Length != prefixOptions.Count)
                {
                    this.m_prefixOptions.items = prefixOptions.ToArray();
                    onChangePrefixSelected(m_prefixOptions.selectedIndex);
                }
            }
        }
        public override void RefreshLines()
        {
            var tsd = Singleton <T> .instance.GetTSD();

            bool hasPrefix = TLMLineUtils.hasPrefix(ref tsd);
            int  count     = 0;

            foreach (ushort buildingID in TLMDepotAI.getAllDepotsFromCity())
            {
                PrefabAI prefabAI = Singleton <BuildingManager> .instance.m_buildings.m_buffer[buildingID].Info.GetAI();
                if (prefabAI is ShelterAI && tsd.isShelterAiDepot())
                {
                    AddToList(buildingID, false, ref count);
                }
                else if (!tsd.isShelterAiDepot() && prefabAI is DepotAI ai)
                {
                    var tiArray = new TransportInfo[] { ai.m_transportInfo, ai.m_secondaryTransportInfo };
                    foreach (TransportInfo info in tiArray)
                    {
                        if (tsd.isFromSystem(info) && (!hasPrefix || m_prefixFilter.selectedIndex == 0 || TLMDepotAI.getPrefixesServedByDepot(buildingID, info == ai.m_secondaryTransportInfo).Contains((uint)(m_prefixFilter.selectedIndex - 1))))
                        {
                            AddToList(buildingID, info == ai.m_secondaryTransportInfo, ref count);
                        }
                    }
                }
            }

            RemoveExtraLines(count);

            switch (m_LastSortCriterion)
            {
            case DepotSortCriterion.NAME: OnNameSort(); break;

            case DepotSortCriterion.DISTRICT: OnDistrictSort(); break;
            }
            isUpdated = true;
        }