private void updateActions()
    {
        if (m_riceTerrain.isDisabled())
        {
            kill();
            return;
        }
        List <MenuAction> newActions = (List <MenuAction>)ActionManager.GetInstance().getRiceTerrainActions(m_riceTerrain);

        // si no hay acciones se cierra el panel
        if (newActions.Count == 0)
        {
            kill();
            return;
        }
        if (m_actions != null)
        {
            // intentamos mantener la accion anterior (si existe)
            int lastID = m_actions [m_currentAction].id;
            m_currentAction = 0;
            for (int i = 0; i < newActions.Count; ++i)
            {
                if (newActions [i].id == lastID)
                {
                    m_currentAction = i;
                    break;
                }
            }
        }

        m_actions = newActions;
        updateAction();
        updateButtons();
    }
Example #2
0
    // +++ ACTIONS +++
    private void createActionPanel()
    {
        if (_actionPanel != null)
        {
            Destroy(_actionPanel);
        }

        WorldTerrain    terrain            = WorldTerrain.GetInstance();
        TileTerrainType typeOfTileSelected = terrain.getTypeTerrainOfTile(_tileSelectedPosition[0], _tileSelectedPosition[1]);

        if (typeOfTileSelected == TileTerrainType.BUILDING && BuildingsManager.GetInstance().getTypeOfBuildingInPosition(_tileSelectedPosition[0], _tileSelectedPosition[1]) == BUILDINGS.PLANTER)
        {
            _tutMan.eventDone(TutorialManager.EVENTS.PLANTELL_ACTIONS_OPENED);
        }
        if (typeOfTileSelected == TileTerrainType.RICE_TERRAIN)
        {
            RiceTerrainTile riceTerrain = terrain.getRiceTerrain(_tileSelectedPosition [0], _tileSelectedPosition [1]);
            //int chunk = terrain.getRiceTerrain(_tileSelectedPosition[0], _tileSelectedPosition[1]).getChunkNumber();
            //if (!PenalizationManager.GetInstance().isChunkDisabled(chunk)) {
            if (!riceTerrain.isDisabled())
            {
                GameObject actionPanelTemplate = Resources.Load("Prefabs/ActionPanelLostFocusLayer") as GameObject;
                _actionPanel = Instantiate(actionPanelTemplate);
                _actionPanel.SendMessage("setRiceTerrain", riceTerrain);
                _tutMan.eventDone(TutorialManager.EVENTS.RICE_CHUNK_ACTIONS_OPENED);
            }
            else
            {
                GameObject disabledPanel = Resources.Load("Prefabs/DisabledChunkPanelLostFocusLayer") as GameObject;
                Instantiate(disabledPanel);
                return;
            }
        }
        else if (typeOfTileSelected == TileTerrainType.BUILDING)
        {
            GameObject actionPanelTemplate = Resources.Load("Prefabs/ActionBuildingPanelLostFocusLayer") as GameObject;             // OR Planta
            _actionPanel = Instantiate(actionPanelTemplate);
            BUILDINGS b = BuildingsManager.GetInstance().getTypeOfBuildingInPosition(_tileSelectedPosition[0], _tileSelectedPosition[1]);
            _actionPanel.BroadcastMessage("setActionsForBuilding", b);
        }
    }