public static Clue CreateClue(StarSystemGenerator.StarSystemInfo ssi, int numberOfJumps, float distance) { Clue newClue = new Clue(); // switch (value) { // case 0: // newClue.systemNumberOfPlanets = ssi.numberOfPlanets; // break; // case 1: // newClue.systemHasAsteroidBelt = ssi.asteroidBelt; // break; // case 2: // newClue.systemStarType = ssi.starType; // break; // case 3: // newClue.systemNumberOfPlanets = ssi.numberOfPlanets; // newClue.systemHasAsteroidBelt = ssi.asteroidBelt; // break; // case 4: // newClue.systemNumberOfPlanets = ssi.numberOfPlanets; // newClue.systemStarType = ssi.starType; // break; // case 5: // newClue.systemHasAsteroidBelt = ssi.asteroidBelt; // newClue.systemStarType = ssi.starType; // break; // case 6: // newClue.systemNumberOfPlanets = ssi.numberOfPlanets; // newClue.systemHasAsteroidBelt = ssi.asteroidBelt; // newClue.systemStarType = ssi.starType; // break; // default: // // break; // // } newClue.systemNumberOfPlanets = ssi.numberOfPlanets; newClue.systemHasAsteroidBelt = ssi.asteroidBelt; newClue.systemStarType = ssi.starType; newClue.distance = distance; newClue.jumpDistance = numberOfJumps; return(newClue); }
public Clue CreateClue(int seed, int numberOfJumps, float distance) { clueKnown = new bool[5]; Clue newClue = new Clue(); StarSystemGenerator.StarSystemInfo ssi = StarSystemGenerator.GetStarSystemInfo(seed); newClue.systemNumberOfPlanets = ssi.numberOfPlanets; newClue.systemNumberOfPlanetsMin = ssi.numberOfPlanets - Random.Range(1, 4); if (newClue.systemNumberOfPlanetsMin < 0) { newClue.systemNumberOfPlanetsMin = 0; } newClue.systemNumberOfPlanetsMax = ssi.numberOfPlanets + Random.Range(1, 4); newClue.systemHasAsteroidBelt = ssi.asteroidBelt; newClue.systemStarType = ssi.starType; newClue.systemStarTypeFake1 = GetRandomStarType(new StarType[] { ssi.starType }); newClue.systemStarTypeFake2 = GetRandomStarType(new StarType[] { ssi.starType, newClue.systemStarTypeFake1 }); newClue.distance = distance; newClue.distanceMin = distance - Random.Range(50, 250); if (newClue.distanceMin < 0) { newClue.distanceMin = 0; } newClue.distanceMax = distance + Random.Range(50, 250); newClue.jumpDistance = numberOfJumps; newClue.jumpDistanceMin = numberOfJumps - Random.Range(8, 20); if (newClue.jumpDistanceMin < 0) { newClue.jumpDistanceMin = 0; } newClue.jumpDistanceMax = numberOfJumps + Random.Range(8, 20); return(newClue); }
public void MoveBetweenSystems(int _targetSystem, bool _active) { StarSystemGenerator.StarSystemInfo ssi = mainGeneration.GenerateSystem(mainGeneration.starSystem[_targetSystem], _active); ship.transform.position = GetPosition(GetDegrees(GetHeading(mainGeneration.systemPoint [_targetSystem].position, mainGeneration.systemPoint [mainGeneration.currentSystem].position).normalized), (ssi.systemSize + 20)); //SystemViewMode (); if (targetSystem == mainGeneration.currentSystem) { targetSystem = _targetSystem; } mainGeneration.currentSystem = _targetSystem; //mainGeneration.currentSystemObject.transform.position = mainGeneration.systemPoint [mainGeneration.currentSystem].position; UpdateCurrentSystemRing(mainGeneration.systemPoint [mainGeneration.currentSystem].position); ClearNumberOfSystemJumps(); CalculateNumberOfSystemJumpsBetweenSystems(mainGeneration.currentSystem, mainGeneration.currentSystem, 0); UpdateClue(); UpdateClueDisplay(); //transform.GetChild (1).gameObject.SetActive (_active); }
public void UpdateClueDisplay() { clueText [5].text = (clueKnown[0])? clue.systemNumberOfPlanets.ToString() : clue.systemNumberOfPlanetsMin.ToString() + "-" + clue.systemNumberOfPlanetsMax.ToString(); clueText [6].text = (clueKnown[1])? clue.systemHasAsteroidBelt.ToString() : "???"; string[] starTypeString = new string[] { clue.systemStarTypeFake1.ToString(), clue.systemStarType.ToString(), clue.systemStarTypeFake2.ToString() }; RandomiseOrder(starTypeString); clueText [7].text = (clueKnown[2])? clue.systemStarType.ToString() : starTypeString[0] + "-" + starTypeString[1] + "-" + starTypeString[2]; clueText [8].text = (clueKnown[3])? ((int)clue.distance).ToString() : ((int)clue.distanceMin).ToString() + "-" + ((int)clue.distanceMax).ToString(); clueText [9].text = (clueKnown[4])? clue.jumpDistance.ToString() : clue.jumpDistanceMin.ToString() + "-" + clue.jumpDistanceMax.ToString(); StarSystemGenerator.StarSystemInfo ssi = StarSystemGenerator.GetStarSystemInfo(mainGeneration.starSystem [targetSystem].seed); clueText [10].text = ssi.numberOfPlanets.ToString(); clueText [11].text = ssi.asteroidBelt.ToString(); clueText [12].text = ssi.starType.ToString(); clueText [13].text = ((int)GetSystemDistance(mainGeneration.currentSystem, targetSystem)).ToString(); clueText [14].text = mainGeneration.systemPoint [targetSystem].numberOfJumpsAway.ToString(); if (clueKnown [0]) { clueText [15].text = (clue.systemNumberOfPlanets == ssi.numberOfPlanets ? "=" : "<color=#ff0000ff>X</color>"); } else { if (ssi.numberOfPlanets >= clue.systemNumberOfPlanetsMin && ssi.numberOfPlanets <= clue.systemNumberOfPlanetsMax) { clueText [15].text = "~"; } else { clueText [15].text = "<color=#ff0000ff>X</color>"; } } if (clueKnown [1]) { clueText [16].text = (clue.systemHasAsteroidBelt == ssi.asteroidBelt ? "=" : "<color=#ff0000ff>X</color>"); } else { clueText [16].text = "~"; } if (clueKnown [2]) { clueText [17].text = (clue.systemStarType == ssi.starType ? "=" : "<color=#ff0000ff>X</color>"); } else { if (ssi.starType == clue.systemStarType || ssi.starType == clue.systemStarTypeFake1 || ssi.starType == clue.systemStarTypeFake2) { clueText [17].text = "~"; } else { clueText [17].text = "<color=#ff0000ff>X</color>"; } } if (clueKnown [3]) { clueText [18].text = ((int)clue.distance == (int)GetSystemDistance(mainGeneration.currentSystem, targetSystem) ? "=" : "<color=#ff0000ff>X</color>"); } else { if ((int)GetSystemDistance(mainGeneration.currentSystem, targetSystem) >= clue.distanceMin && (int)GetSystemDistance(mainGeneration.currentSystem, targetSystem) <= clue.distanceMax) { clueText [18].text = "~"; } else { clueText [18].text = "<color=#ff0000ff>X</color>"; } } if (clueKnown [4]) { clueText [19].text = (clue.jumpDistance == mainGeneration.systemPoint [targetSystem].numberOfJumpsAway ? "=" : "<color=#ff0000ff>X</color>"); } else { if (mainGeneration.systemPoint [targetSystem].numberOfJumpsAway >= clue.jumpDistanceMin && mainGeneration.systemPoint [targetSystem].numberOfJumpsAway <= clue.jumpDistanceMax) { clueText [19].text = "~"; } else { clueText [19].text = "<color=#ff0000ff>X</color>"; } } }
void UpdateGame() { if (finalEventBox.activeSelf) { return; } if (shipDestroyedBox.activeSelf) { return; } if (Input.GetKeyDown(KeyCode.Escape)) { if (eventSystem.eventObject.activeSelf) { return; } else if (researchOutpostUI.activeSelf) { return; } else if (shopUI.activeSelf) { return; } else if (autoPilotToggle.isOn) { CancelAutoPilotConfimation(); autoPilotToggle.isOn = false; } else if (blockingCanvas.sortingOrder == 3) { OpenQuitConfimationBoxMenu(false); OpenQuitConfimationBoxDesktop(false); } else if (gameMenuUI.activeSelf) { OpenGameMenu(false); } else if (blockingCanvas.sortingOrder == 1 && blockingCanvas.gameObject.activeSelf) { CancelDriveJumpConfimation(); CancelSystemJumpConfimation(); } else { OpenGameMenu(true); } } if (blockingCanvas.gameObject.activeSelf) { return; } if (autoPilotToggle.isOn) { UpdateAutoPilot(); } if (systemJumping) { UpdateSystemJump(); return; } if (driveJumping) { UpdateJumpDrive(); return; } if (mainEventProgress == 10) { FinalEvent(); SetBlockingCanvas(true, 1); } for (int i = 0; i < 2; i++) { cameras[i].UpdateCamera(mainMenu.cameraFollowShip.isOn); } if (ship.gameObject.activeSelf) { if (ship.UpdateShip(mainMenu.holdToMove.isOn) == false) { ShipDestroyed(); SetBlockingCanvas(true, 1); } Collider[] overlaps; overlaps = Physics.OverlapSphere(ship.transform.position, 5); if (overlaps.Length > 0) { interactionUI.SetActive(true); interactionText.text = overlaps [0].tag; } else { interactionUI.SetActive(false); } if (Input.GetKeyDown(KeyCode.E)) { InteractionCheck(); } } if (ship.money < 0) { ship.money = 0; } if (ship.research < 0) { ship.research = 0; } if (ship.jumpCharges < 0) { ship.jumpCharges = 0; } shipText [0].text = ship.strength.ToString() + "/" + ship.maxStrength.ToString(); shipText [1].text = ship.money.ToString(); shipText [2].text = ship.research.ToString(); shipText [3].text = ship.jumpCharges.ToString() + "/" + ship.maxJumpCharges.ToString(); if (Vector3.Distance(transform.position, ship.transform.position) > StarSystemGenerator.GetStarSystemEdgeDistance(mainGeneration.starSystem[mainGeneration.currentSystem].seed)) { shipOnOuterEdge = true; } else { shipOnOuterEdge = false; } Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { if (hit.transform.tag == "SystemPoint") { mainGeneration.currentHoverSystem = hit.transform.gameObject.GetComponent <SystemPoint> ().GetStarSystem(); SystemInfoUI.SetActive(true); // if (Input.mousePosition.y > (Screen.height / 10) *9) { // // // } SystemInfoUI.transform.position = Input.mousePosition; StarSystemGenerator.StarSystemInfo ssi = StarSystemGenerator.GetStarSystemInfo(mainGeneration.starSystem [mainGeneration.currentHoverSystem].seed); text [0].text = "Number of Planets: " + ssi.numberOfPlanets.ToString(); text [1].text = "Has Asteroid Belt: " + ssi.asteroidBelt.ToString(); text [2].text = "Star Class: " + ssi.starType.ToString(); text [3].text = "Distance: " + (int)GetSystemDistance(mainGeneration.currentSystem, mainGeneration.currentHoverSystem); text [4].text = "System Jumps Away: " + mainGeneration.systemPoint [mainGeneration.currentHoverSystem].numberOfJumpsAway; if (Input.GetMouseButtonDown(0)) { //if (jumping) { if (driveModeSlider.value == 0) { if (CheckSystemDistance(mainGeneration.currentSystem, mainGeneration.currentHoverSystem, ship.maxJumpDistance)) { driveJumpConfimationBox.SetActive(true); driveJumpConfimationBox.transform.position = Input.mousePosition; audioControl.PlaySoundEffect(2); SetBlockingCanvas(true, 1); } } else { if (CheckSystemConnection(mainGeneration.currentSystem, mainGeneration.currentHoverSystem)) { if (shipOnOuterEdge) { systemJumpConfimationBox.SetActive(true); systemJumpConfimationBox.transform.position = Input.mousePosition; audioControl.PlaySoundEffect(2); SetBlockingCanvas(true, 1); } } } } else if (Input.GetMouseButtonDown(1)) { SetupNewTargetSystem(mainGeneration.currentHoverSystem); UpdateClueDisplay(); } } } else { SystemInfoUI.SetActive(false); } }