private void initIsland() { island = new Island(IslandWidth, IslandHeight); GameObject islandGameObject = Instantiate(IslandPrefab, new Vector3(0, 0, 0), Quaternion.identity); islandView = islandGameObject.GetComponent <IslandView>(); islandView.Init(IslandWidth, IslandHeight); islandView.OnEnterTerrainCell = enterTerrainCellHandler; islandView.OnReleaseTerrainCell = releaseTerrainCellHandler; for (int x = 0; x < IslandWidth; x++) { for (int y = 0; y < IslandHeight; y++) { Vector2Int position = new Vector2Int(x, y); TerrainViewFeature terrainViewFeature; TerrainTallFeature terrainTallFeature; terrainViewFeatureOfPosition(position, out terrainViewFeature, out terrainTallFeature); islandView.SetTerrainFeature(position, terrainViewFeature, terrainTallFeature); } } // UI grid.Init(); toolPanel.Init(); toolPanel.OnWaterClick = () => state = ToolState.Water; toolPanel.OnTallClick = () => state = ToolState.Tall; }
void InitUI() { geoUI = new GeoUI(); Transform canvasBack = GameObject.Find("/UI/CanvasBack").transform; Transform canvasFront = GameObject.Find("/UI/CanvasFront").transform; NavPanel navPanel = canvasBack.Find("NavPanel").GetComponent <NavPanel>(); navPanel.OnShadeButtonClick = HandleClickShadeButton; navPanel.OnLockButtonClick = HandleClickLockButton; navPanel.OnDisplayButtonClick = HandleClickDisplayButton; navPanel.OnCoordinateButtonClick = HandleClickCoordinateButton; navPanel.OnGridButtonClick = HandleClickGridButton; navPanel.OnSnapButtonClick = HandleClickSnapButton; geometryBehaviour.OnElementDisplayChange = HandleElementDisplayChange; navPanel.Init(); ToolPanel toolPanel = canvasBack.Find("ToolPanel").GetComponent <ToolPanel>(); toolPanel.Init(); toolPanel.OnClickTool = HandleClickTool; StatePanel statePanel = canvasBack.Find("StatePanel").GetComponent <StatePanel>(); statePanel.Init(); InputPanel inputPanel = canvasBack.Find("InputPanel").GetComponent <InputPanel>(); inputPanel.Init(); ElementPanel elementPanel = canvasFront.Find("ElementPanel").GetComponent <ElementPanel>(); elementPanel.Init(); ActivePanel activePanel = canvasFront.Find("ActivePanel").GetComponent <ActivePanel>(); activePanel.Init(); CameraPanel cameraPanel = canvasFront.Find("CameraPanel").GetComponent <CameraPanel>(); cameraPanel.OnCenterButtonClick = HandleClickCenterButton; cameraPanel.OnZoomInButtonClick = HandleClickZoomInButton; cameraPanel.OnZoomOutButtonClick = HandleClickZoomOutButton; cameraPanel.OnUpButtonClick = HandleClickUpButton; cameraPanel.OnDownButtonClick = HandleClickDownButton; cameraPanel.Init(); cameraPanel.SetCenterButtonActive(false); geoUI.navPanel = navPanel; geoUI.toolPanel = toolPanel; geoUI.statePanel = statePanel; geoUI.inputPanel = inputPanel; geoUI.elementPanel = elementPanel; geoUI.activePanel = activePanel; geoUI.cameraPanel = cameraPanel; }