Пример #1
0
    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;
    }
Пример #2
0
    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;
    }