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 Setup_results()
        {
            title.text             = "results";
            instructionsLabel.text = "press SPACE to continue";

            Result _result = DATA_PACKAGE.GetFinalResult();

            resultsLabels[0].text = _result.result0;
            resultsLabels[1].text = _result.result1;
        }
Esempio n. 3
0
        private void RunWaves()
        {
            float _dist = Vector3.Distance(emitter.position, receiver.position);

            float _min = 0f;
            float _max = 1.5f;
            List <SignalPattern> _signalPatterns = new List <SignalPattern> ();

            foreach (LinkedSatDish lsd in linkedSatDishes)
            {
                LineRenderer _wave = GetWave(lsd.sateliteDish.name);
                _wave.gameObject.SetActive(true);
                float _strength = lsd.signalStrengthOffset + lsd.sateliteDish.valueX;
                _strength = Mathf.Clamp(_strength, _min, _max);
                float _speed = lsd.signalSpeedOffset + lsd.sateliteDish.valueY;
                _speed = Mathf.Clamp(_speed, _min, _max);
                int _frequency = Mathf.RoundToInt(_speed * ( float )graphFrequency);
                _frequency = Mathf.Max(10, _frequency);
                if (_wave.positionCount != _frequency)
                {
                    _wave.positionCount = _frequency;
                }

                _signalPatterns.Add(new SignalPattern(
                                        _strength,
                                        _speed
                                        ));

                float _width = _dist / ( float )_frequency;

                float     t       = Time.time * 2f;
                Vector3[] _points = new Vector3[_frequency + 1];
                for (int a = 0; a < _frequency + 1; ++a)
                {
                    _points[a]    = receiver.position;
                    _points[a].x -= a * _width;
                    _points[a].y += Mathf.Sin(a + t) * _strength;
                }
                _wave.SetPositions(_points);
            }

            ServiceStatus _serviceStatus = DATA_PACKAGE.GetServiceStatus(_signalPatterns.ToArray());

            if (_serviceStatus != null)
            {
                _serviceStatus.tmMachineId = name;
            }
            currentServiceStatus = _serviceStatus;
        }
Esempio n. 4
0
        public void RestartGame()
        {
            UI_END.enabled = false;
            foreach (TransmissionMachine tm in tmMachines)
            {
                tm.enabled = false;
            }
            enabledTmMachineCount = 1;

            foreach (SateliteDish sd in satDishes)
            {
                sd.enabled = false;
            }
            enabledSatDishCount = 1;

            tmMachines[0].LinkSateliteDish(satDishes[0], 0f, 0f);
            serviceStatuses.Clear();
            DATA_PACKAGE.Reboot();
            UI_MAIN.Reboot();
            PLAYER_STATS.Init();

            currentState = State.start;
        }
Esempio n. 5
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);
        }