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; } }
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); }
private void ShowTempPlaceholder(bool show) { CellPlaceholder targetedCellPlaceholder = GetTargetedCellPlaceholder(); bool targetingExistingCell = targetedCellPlaceholder != null; if (m_tempPlaceholder) { m_tempPlaceholder.gameObject.SetActive(show && PlayerCursor.singleton.hasTarget && !targetingExistingCell); } }
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; }
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); } }
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); } }