public void generateWorld() { Debug.Log("generating world"); Physics.gravity = new Vector3(0, 0, 1f); this.mapGenerationSettings = MapGenerationSettings.loadSettings(applicationPersistentPath); this.mapData = MapData.loadData(applicationPersistentPath); UIController.getInstance().updateSettingsPanel(this.mapGenerationSettings, 0); Map map = MapGenerator.generateMap(0, mapGenerationSettings, mapData, applicationPersistentPath, this.randomGenerator); //UIController.getInstance().setCameraPosition(HexMathHelper.hexToWorldCoords(MapGenerator.mapCenter(this.mapGenerationSettings), MeshMapController.getInstance().getHexSize())); MeshMapController.getInstance().map = map; MeshMapController.getInstance().drawMap(); this.partyGenerationSettings = PartyGenerationSettings.loadSettings(applicationPersistentPath); Party party = PartyGenerator.getInstance().generateParty(applicationPersistentPath, this.partyGenerationSettings); PartyController.getInstance().party = party; PartyController.getInstance().setInitialPosition(MapGenerator.mapCenter(this.mapGenerationSettings)); UIController.getInstance().showPartyInfo(); UIController.getInstance().startingMenuPanel.SetActive(false); UIController.getInstance().inGamePanel.SetActive(true); this.currentTime = this.partyGenerationSettings.nightTime; }
public void highlightTile() { Vector3 mouseWorldPosition = mainCamera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 10)); Ray ray = mainCamera.ScreenPointToRay(Input.mousePosition); float enter = 0.0f; if (mapPlane.Raycast(ray, out enter)) { mouseWorldPosition = ray.GetPoint(enter); } float hexSize = MeshMapController.getInstance().getHexSize(); Vector2 newlyHighlightedHex = HexMathHelper.worldToHexCoords(mouseWorldPosition, hexSize); if (newlyHighlightedHex != this.highightedHex && HexMathHelper.hexDistance(newlyHighlightedHex, PartyController.getInstance().partyPosition) < 10) { this.highightedHex = newlyHighlightedHex; hexHighlightController.highlightHex(this.highightedHex); } else if (newlyHighlightedHex != this.highightedHex) { hexHighlightController.hideHighlight(); this.highightedHex = new Vector2(0, 0); } }
public void setPosition(Vector2 newHexPosition) { this.partyPosition = newHexPosition; Vector3 newPosition = HexMathHelper.hexToWorldCoords(this.partyPosition, MeshMapController.getInstance().getHexSize()); newPosition.z = this.transform.position.z; this.setNewDestination(newPosition); }
public void setMapSeed(string newMapSeed) { int number; bool isInt = int.TryParse(newMapSeed, out number); if (isInt) { MeshMapController.getInstance().specifiedMapSeed = number; } else { MeshMapController.getInstance().specifiedMapSeed = 0; } }
public void highlightHex(Vector2 hexCoordinates) { float hexSize = MeshMapController.getInstance().getHexSize(); Vector2 newHighlightPosition = HexMathHelper.hexToWorldCoords(hexCoordinates, hexSize); this.transform.position = new Vector3(newHighlightPosition.x, newHighlightPosition.y, this.transform.position.z); this.gameObject.SetActive(true); int movementCost = PartyController.getInstance().calculateMovementCost(hexCoordinates); //this.showMovementCost(movementCost); this.showHexCoordinates("x:" + hexCoordinates.x + ", y:" + hexCoordinates.y); this.movementCost = movementCost; this.movementTarget = hexCoordinates; }
public void showHexInfo() { Vector3 mouseWorldPosition = mainCamera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 10)); Ray ray = mainCamera.ScreenPointToRay(Input.mousePosition); float enter = 0.0f; if (mapPlane.Raycast(ray, out enter)) { mouseWorldPosition = ray.GetPoint(enter); } float hexSize = MeshMapController.getInstance().getHexSize(); Vector2 newlyHighlightedHexCoords = HexMathHelper.worldToHexCoords(mouseWorldPosition, hexSize); if (MeshMapController.getInstance() != null && MeshMapController.getInstance().map != null && MeshMapController.getInstance().map.getHex(newlyHighlightedHexCoords) != null) { Hex hex = MeshMapController.getInstance().map.getHex(newlyHighlightedHexCoords); HexInfoPanelController hexInfoPanelController = hexInfoPanel.GetComponent <HexInfoPanelController>(); hexInfoPanelController.showHexInfo(hex); } }
public void regenerateMap() { Map map = MapGenerator.generateMap(0, mapGenerationSettings, mapData, applicationPersistentPath, this.randomGenerator); MeshMapController.getInstance().regenerateMap(map); }