Пример #1
0
        void OnSelectedDistricts()
        {
            //get selected building ID (after waiting it has been actualized)
            FieldInfo  baseSub    = m_districtInfoPanel.GetType().GetField("m_InstanceID", BindingFlags.NonPublic | BindingFlags.Instance);
            InstanceID instanceId = (InstanceID)baseSub.GetValue(m_districtInfoPanel);

            if (instanceId.Type == InstanceType.District && instanceId.District != 0)
            {
                if (m_currentSelectedDistrictID == instanceId.District) //no update needed
                {
                    return;
                }
                m_currentSelectedDistrictID = instanceId.District;
            }
            else
            {
                m_currentSelectedDistrictID = 0;
            }

            int districtIndex = m_info.GetResilientDistrictIndex(m_currentSelectedDistrictID);

            m_allowEvents = false;
            if (districtIndex != -1)
            {
                if (m_info.m_districts[districtIndex].unsuscribed)
                {
                    m_resilientStateButton2.SetState(0);
                }
                else if (m_info.m_districts[districtIndex].resiliencyActivated)
                {
                    m_resilientStateButton2.SetState(1);
                }
                else
                {
                    m_resilientStateButton2.SetState(0);
                }
            }
            else
            {
                m_resilientStateButton2.SetState(0);
            }

            m_allowEvents = true;
        }
Пример #2
0
        /********** UI update methods ***************/

        void OnSelected()
        {
            //get selected building ID (after waiting it has been actualized)
            FieldInfo  baseSub    = m_zonedBuildingInfoPanel.GetType().GetField("m_InstanceID", BindingFlags.NonPublic | BindingFlags.Instance);
            InstanceID instanceId = (InstanceID)baseSub.GetValue(m_zonedBuildingInfoPanel);

            if (instanceId.Type == InstanceType.Building && instanceId.Building != 0)
            {
                if (m_currentSelectedBuildingID == instanceId.Building)                //no update needed
                {
                    return;
                }
                m_currentSelectedBuildingID = instanceId.Building;
            }
            else
            {
                m_currentSelectedBuildingID = 0;
            }

            int buildIndex = m_info.GetResilientBuildingIndex(m_currentSelectedBuildingID);

            m_allowEvents = false;
            if (buildIndex != -1 && !m_info.m_resilients[buildIndex].unsuscribed)
            {
                if (m_info.m_resilients[buildIndex].resiliencyActivated)
                {
                    m_resilientStateButton.SetState(2);
                }
                else
                {
                    m_resilientStateButton.SetState(1);
                }
                ShowHistory();
                CheckUpdateUI(m_currentSelectedBuildingID);
            }
            else
            {
                m_resilientStateButton.SetState(0);
                HideHistory();
            }

            m_allowEvents = true;
        }