Esempio n. 1
0
        //--------------------------------------------------
        // private
        //--------------------------------------------------

        //--------------------------------------------------
        // public
        //--------------------------------------------------

        //--------------------------------------------------
        // protected
        //--------------------------------------------------
        protected void OnEnable()
        {
            if (GAME == null)
            {
                return;
            }

            for (int a = 0; a < DATA_PACKAGE.serviceSignalPatterns.Length; ++a)
            {
                ServiceSignalPattern ssp = DATA_PACKAGE.serviceSignalPatterns[a];
                if (!DATA_PACKAGE.ServiceIsEnabled(ssp.service))
                {
                    labels[a].text = "";
                    continue;
                }

                labels[a].text = "<size=25><b>" + ssp.service + " (" + ssp.signalPatterns.Length + ")</b></size>";
                for (int b = 0; b < ssp.signalPatterns.Length; ++b)
                {
                    SignalPattern sp = ssp.signalPatterns[b];
                    labels[a].text += "\n  frequency " + b + ":";
                    labels[a].text += "\n    signal strength: " + sp.strength;
                    labels[a].text += "\n    signal speed: " + sp.speed;
                }
            }
        }
Esempio n. 2
0
        private void State_purchases()
        {
            if (Input.GetKeyDown(KeyCode.Space))
            {
                AudioController.Play("ui_btn_direction_section");
                PLAYER_STATS.funds -= GetTotalPurchase();

                // if ( PLAYER_STATS.funds > 0 ) {
                GAME.enabledTmMachineCount += purchaseLog.tmMachineCount;
                GAME.enabledSatDishCount   += purchaseLog.satDishCount;
                foreach (DataPackage.Service ns in purchaseLog.newServices)
                {
                    DATA_PACKAGE.EnableService(ns);
                }
                GAME.StartGame();
                // }
                // else {
                //   currentState = State.game_over;
                // }
            }

            int _maxSelection = DATA_PACKAGE.serviceSignalPatterns.Length + 2;

            if (Input.GetKeyDown(KeyCode.W) ||
                Input.GetKeyDown(KeyCode.UpArrow))
            {
                AudioController.Play("ui_btn_direction");
                --purchaseLog.selectionIndex;
                if (purchaseLog.selectionIndex <= 0)
                {
                    purchaseLog.selectionIndex = 0;
                }
            }

            if (Input.GetKeyDown(KeyCode.S) ||
                Input.GetKeyDown(KeyCode.DownArrow))
            {
                AudioController.Play("ui_btn_direction");
                ++purchaseLog.selectionIndex;
                if (purchaseLog.selectionIndex >= _maxSelection)
                {
                    purchaseLog.selectionIndex = _maxSelection - 1;
                }
            }

            int _maxTmMachinesCount = GAME.tmMachines.Length - GAME.enabledTmMachineCount;
            int _maxSatDishCount    = GAME.satDishes.Length - GAME.enabledSatDishCount;

            if (Input.GetKeyDown(KeyCode.A) ||
                Input.GetKeyDown(KeyCode.LeftArrow))
            {
                switch (purchaseLog.selectionIndex)
                {
                case 0:
                    if (_maxTmMachinesCount > 0)
                    {
                        --purchaseLog.tmMachineCount;
                        if (purchaseLog.tmMachineCount < 0)
                        {
                            purchaseLog.tmMachineCount = 0;
                            AudioController.Play("ui_btn_reject");
                        }
                        else
                        {
                            AudioController.Play("ui_btn_toggle");
                        }
                    }
                    break;

                case 1:
                    if (_maxSatDishCount > 0)
                    {
                        --purchaseLog.satDishCount;
                        if (purchaseLog.satDishCount < 0)
                        {
                            purchaseLog.satDishCount = 0;
                        }
                        else
                        {
                            AudioController.Play("ui_btn_toggle");
                        }
                    }
                    break;

                default:
                    ServiceSignalPattern _ssp = DATA_PACKAGE.serviceSignalPatterns[purchaseLog.selectionIndex - 2];
                    if (purchaseLog.newServices.Contains(_ssp.service))
                    {
                        purchaseLog.newServices.Remove(_ssp.service);
                        AudioController.Play("ui_btn_toggle");
                    }
                    break;
                }
            }

            if (Input.GetKeyDown(KeyCode.D) ||
                Input.GetKeyDown(KeyCode.RightArrow))
            {
                switch (purchaseLog.selectionIndex)
                {
                case 0:
                    if (_maxTmMachinesCount > 0)
                    {
                        ++purchaseLog.tmMachineCount;
                        if (purchaseLog.tmMachineCount > _maxTmMachinesCount)
                        {
                            purchaseLog.tmMachineCount = _maxTmMachinesCount;
                            AudioController.Play("ui_btn_reject");
                        }
                        else
                        {
                            AudioController.Play("ui_btn_toggle");
                        }
                    }
                    break;

                case 1:
                    if (_maxSatDishCount > 0)
                    {
                        ++purchaseLog.satDishCount;
                        if (purchaseLog.satDishCount > _maxSatDishCount)
                        {
                            purchaseLog.satDishCount = _maxSatDishCount;
                        }
                        else
                        {
                            AudioController.Play("ui_btn_toggle");
                        }
                    }
                    break;

                default:
                    ServiceSignalPattern _ssp = DATA_PACKAGE.serviceSignalPatterns[purchaseLog.selectionIndex - 2];
                    if (!purchaseLog.newServices.Contains(_ssp.service) &&
                        !DATA_PACKAGE.ServiceIsEnabled(_ssp.service))
                    {
                        purchaseLog.newServices.Add(_ssp.service);
                        AudioController.Play("ui_btn_toggle");
                    }
                    break;
                }
            }

            purchasesLabels[0].text = "";
            purchasesLabels[1].text = "";
            for (int a = 0; a < _maxSelection; ++a)
            {
                string _prefix = (a > 0) ? "\n" : "";
                if (purchaseLog.selectionIndex == a)
                {
                    _prefix += "> ";
                }

                switch (a)
                {
                case 0:
                    purchasesLabels[0].text += _prefix + "transmission_machine - ";
                    if (_maxTmMachinesCount <= 0)
                    {
                        purchasesLabels[0].text += "[full]";
                        purchasesLabels[1].text += "-";
                    }
                    else
                    {
                        purchasesLabels[0].text += "$" + DATA_PACKAGE.tmMachineRates.price;
                        purchasesLabels[1].text += "x " + purchaseLog.tmMachineCount;
                    }
                    break;

                case 1:
                    // purchasesLabels[0].text += _prefix + "satelite_dish - $" + DATA_PACKAGE.satDishRates.price;
                    // purchasesLabels[1].text += "\nx " + purchaseLog.satDishCount;
                    purchasesLabels[0].text += _prefix + "satelite_dish - ";
                    if (_maxSatDishCount <= 0)
                    {
                        purchasesLabels[0].text += "[full]";
                        purchasesLabels[1].text += "\n-";
                    }
                    else
                    {
                        purchasesLabels[0].text += "$" + DATA_PACKAGE.satDishRates.price;
                        purchasesLabels[1].text += "\nx " + purchaseLog.satDishCount;
                    }
                    purchasesLabels[0].text += "\n\n";
                    purchasesLabels[1].text += "\n\n";
                    break;

                default:
                    ServiceSignalPattern _ssp = DATA_PACKAGE.serviceSignalPatterns[a - 2];
                    purchasesLabels[0].text += _prefix + _ssp.service + "_licensing - ";
                    if (DATA_PACKAGE.ServiceIsEnabled(_ssp.service))
                    {
                        purchasesLabels[0].text += "[purchased]";
                        purchasesLabels[1].text += "\n";
                    }
                    else
                    {
                        purchasesLabels[0].text += "$" + _ssp.price;
                        if (purchaseLog.newServices.Contains(_ssp.service))
                        {
                            purchasesLabels[1].text += "\nselected";
                        }
                        else
                        {
                            purchasesLabels[1].text += "\n-";
                        }
                    }
                    break;
                }
            }

            purchasesLabels[0].text += "\n\n-------------------------\n";
            purchasesLabels[0].text += "\nTotal Price";
            purchasesLabels[0].text += "\nFunds Left After Purchase";
            purchasesLabels[0].text  = purchasesLabels[0].text.ToLower();

            int _totalPrice = GetTotalPurchase();

            purchasesLabels[1].text += "\n\n-------------------------\n";
            purchasesLabels[1].text += "\n$" + _totalPrice;
            purchasesLabels[1].text += "\n$" + (PLAYER_STATS.funds - _totalPrice);
        }