//-------------------------------------------------- // 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; } } }
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; }
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; }
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; }
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); }