コード例 #1
0
        internal void ChangeTakeO2State(ButtonStates state)
        {
            QuickLogger.Debug($"Changing Button State for {nameof(ChangeTakeO2State)}");
            switch (state)
            {
            case ButtonStates.Enabled:
                _buttonLbl.text = OxStationBuildable.TakeOxygen();
                _giveOIntBtn.OnEnable();
                break;

            case ButtonStates.Disabled:
                _buttonLbl.text = OxStationBuildable.Damaged();
                _giveOIntBtn.OnDisable();
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(state), state, null);
            }
        }
コード例 #2
0
        public override bool FindAllComponents()
        {
            #region Canvas
            var canvasGameObject = gameObject.GetComponentInChildren <Canvas>()?.gameObject;

            if (canvasGameObject == null)
            {
                QuickLogger.Error("Canvas cannot be found");
                return(false);
            }
            #endregion

            #region Home
            var home = canvasGameObject.FindChild("Home")?.gameObject;

            if (home == null)
            {
                QuickLogger.Error("Home cannot be found");
                return(false);
            }
            #endregion

            #region Oxygen Preloader
            var oxPreloaderlbl = home.FindChild("Ox_Preloader")?.FindChild("percentage")?.GetComponent <Text>();

            if (oxPreloaderlbl == null)
            {
                QuickLogger.Error("Ox_Preloader cannot be found");
                return(false);
            }

            _oxPreloaderLBL = oxPreloaderlbl;
            #endregion

            #region Oxygen Preloader Bar
            var oxPreloaderBar = home.FindChild("Ox_Preloader")?.FindChild("PreLoader_Bar_Front")?.GetComponent <Image>();

            if (oxPreloaderBar == null)
            {
                QuickLogger.Error("Ox_Preloader Bar cannot be found");
                return(false);
            }

            _oxPreloaderBar = oxPreloaderBar;
            #endregion

            #region Health Preloader
            var healthPreloaderlbl = home.FindChild("Health_Preloader")?.FindChild("percentage")?.GetComponent <Text>();

            if (healthPreloaderlbl == null)
            {
                QuickLogger.Error("Health_Preloader cannot be found");
                return(false);
            }

            _healthPreloaderlbl = healthPreloaderlbl;
            #endregion

            #region Health Preloader Bar
            var healthPreloaderBar = home.FindChild("Health_Preloader")?.FindChild("PreLoader_Bar_Front")?.GetComponent <Image>();

            if (healthPreloaderBar == null)
            {
                QuickLogger.Error("Health_Preloader Bar cannot be found");
                return(false);
            }

            _healthPreloaderBar = healthPreloaderBar;
            #endregion

            #region Take O2 BTN
            _giveO2BTN = home.transform.Find("Button")?.gameObject;
            if (_giveO2BTN == null)
            {
                QuickLogger.Error("Button not found.");
                return(false);
            }

            _giveOIntBtn                = _giveO2BTN.AddComponent <InterfaceButton>();
            _giveOIntBtn.ButtonMode     = InterfaceButtonMode.Background;
            _giveOIntBtn.STARTING_COLOR = dark_bg;
            _giveOIntBtn.OnButtonClick  = OnButtonClick;
            _giveOIntBtn.BtnName        = "giveO2";
            #endregion

            #region Take O2 BTN LBL
            _buttonLbl = home.transform.Find("Button").Find("Text")?.gameObject.GetComponent <Text>();
            if (_buttonLbl == null)
            {
                QuickLogger.Error("Button Text not found.");
                return(false);
            }

            _buttonLbl.text = OxStationBuildable.TakeOxygen();

            #endregion

            #region Power Usage
            var powerUsage = home.transform.Find("Power_Usage")?.GetComponent <Text>();
            if (powerUsage == null)
            {
                QuickLogger.Error("Power_Usage not found.");
                return(false);
            }

            _powerUsage = powerUsage;
            #endregion

            return(true);
        }