Exemple #1
0
    private void UpdateCellUpgradeSelection()
    {
        if (!ControllerUI.singleton.upgradeMenu)
        {
            return;
        }

        if ((m_targetedCellPlaceholder != null) && (m_persistingTargetedCellPlaceholder != m_targetedCellPlaceholder))
        {
            m_selectedCellUpgradeIndex          = 0;
            m_persistingTargetedCellPlaceholder = m_targetedCellPlaceholder;
        }

        if (!m_persistingTargetedCellPlaceholder || !m_persistingTargetedCellPlaceholder.cell.hasUpgrade)
        {
            return;
        }

        int cellSelectionDelta = InputsManager.singleton.leftPadPressVerticalValue;

        m_selectedCellUpgradeIndex = (m_selectedCellUpgradeIndex + cellSelectionDelta) % m_persistingTargetedCellPlaceholder.cell.upgrades.Length;
        if (m_selectedCellUpgradeIndex < 0)
        {
            m_selectedCellIndex = m_persistingTargetedCellPlaceholder.cell.upgrades.Length - 1;
        }
    }
Exemple #2
0
    private void CreateTempPlaceholder()
    {
        GameObject tempPlaceholderGameObject = new GameObject("Temporary Cell Placeholder");

        m_tempPlaceholder = tempPlaceholderGameObject.AddComponent <CellPlaceholder>();
        m_tempPlaceholder.SetCell(CellsManager.registeredCells[m_selectedCellIndex]);
        tempPlaceholderGameObject.transform.SetParent(transform);
    }
Exemple #3
0
    private void ShowTempPlaceholder(bool show)
    {
        CellPlaceholder targetedCellPlaceholder = GetTargetedCellPlaceholder();
        bool            targetingExistingCell   = targetedCellPlaceholder != null;

        if (m_tempPlaceholder)
        {
            m_tempPlaceholder.gameObject.SetActive(show && PlayerCursor.singleton.hasTarget && !targetingExistingCell);
        }
    }
Exemple #4
0
    private void BuildCell()
    {
        if (!GameManager.singleton.PayResources(m_tempPlaceholder.cell.cost))
        {
            SoundManager.PlayErrorSoundEffect();
            return;
        }

        SoundManager.PlayCellSpawnSoundEffect();

        m_tempPlaceholder.gameObject.name = string.Format("Cell Placeholder n°{0}", m_placeholders.Count);
        m_placeholders.Add(m_tempPlaceholder);
        m_tempPlaceholder = null;
    }
Exemple #5
0
    private void UpdatePlaceholders()
    {
        m_targetedCellPlaceholder = GetTargetedCellPlaceholder();
        bool targetingExistingCell = m_targetedCellPlaceholder != null;

        if (m_tempPlaceholder && m_tempPlaceholder.isActiveAndEnabled)
        {
            Cell tempCell = CellsManager.registeredCells[m_selectedCellIndex];
            m_tempPlaceholder.transform.position = PlayerCursor.singleton.targetPosition;
            m_tempPlaceholder.SetCell(tempCell);
            m_tempPlaceholder.cellRenderer.SetCellRenderingMode(tempCell.Affordable()? CellRenderingMode.Affordable : CellRenderingMode.NotAffordable);
            Vector3 flattenForward = GameManager.camera.transform.forward;
            flattenForward.y = 0;
            m_tempPlaceholder.transform.forward = flattenForward;
        }

        for (int i = 0; i < m_placeholders.Count; i++)
        {
            CellPlaceholder cellPlaceholder = m_placeholders[i];
            //bool displayAlt = targetingExistingCell ? targetedCellPlaceholder != cellPlaceholder : PlayerCursor.singleton.hasTarget;
            CellRenderingMode cellRenderingMode = CellRenderingMode.Default;
            if (targetingExistingCell)
            {
                if (m_targetedCellPlaceholder == cellPlaceholder)
                {
                    cellRenderingMode = CellRenderingMode.Selected;
                }
                else
                {
                    cellRenderingMode = CellRenderingMode.OtherSelected;
                }
            }
            else
            {
                if (PlayerCursor.singleton.hasTarget)
                {
                    cellRenderingMode = CellRenderingMode.OtherSelected;
                }
            }

            cellPlaceholder.cellRenderer.SetCellRenderingMode(cellRenderingMode);
        }
    }
Exemple #6
0
    public void SpawnCells()
    {
        List <CellPlaceholder> placeholders = CellPlaceholderManager.singleton.placeholders;

        m_cells.Clear();
        UpdateBuffs();
        for (int i = 0; i < placeholders.Count; i++)
        {
            CellPlaceholder cellPlaceholder = placeholders[i];
            Cell            cell            = Instantiate(cellPlaceholder.cell);

            cell.name = string.Format("Cell n°{0}", i);
            cell.transform.SetParent(transform);
            cell.transform.position = cellPlaceholder.transform.position;
            cell.transform.rotation = cellPlaceholder.transform.rotation;

            cell.AssignCellRenderer(cellPlaceholder.cellRenderer);

            m_cells.Add(cell);
        }
    }