// ===================================================================================================== public void PutOffChip(GameObject chip) { Chip chipScript = chip.GetComponent <Chip>(); if (chipScript.GridName != "Grid_Inventory") { chipScript.Uninstall(); if (chipScript.Type == Chip.ChipType.TURRET || chipScript.Type == Chip.ChipType.SKILL) { if (chipScript.IsActive) { chipScript.Deactivate(); Chip nextChip = GetNextChip(chipScript); if (nextChip != chipScript) { ActivateChipExclusively(nextChip); } } } else if (chipScript.Type == Chip.ChipType.STATE) { if (chipScript.IsActive) { chipScript.Deactivate(); } } } }
private void updateSkillsKeysSelection() { // skills (0 - 9) for (int i = 48, j = 0; i <= 57; ++i, ++j) { if (Input.GetKeyDown((KeyCode)i)) { if (_skillsTiles[j].transform.childCount > 0) { Chip chipScript = _skillsTiles[j].transform.GetChild(0).GetComponent <Chip>(); if (chipScript.Type == Chip.ChipType.STATE || chipScript.Type == Chip.ChipType.CONSUMABLE) { if (chipScript.IsActive) { chipScript.Deactivate(); } else { chipScript.Activate(); } } else if (chipScript.Type == Chip.ChipType.SKILL) { Inventory.Instance.ActivateChipExclusively(chipScript); } } } } }
// ===================================================================================================== // activate chip and deactivate all Others at the same type public void ActivateChipExclusively(Chip chip) { // return if already active if (chip.IsActive) { return; } // deactivate all the rest with the same type Transform grid = chip.transform.parent.parent; foreach (Transform tileItem in grid) { if (tileItem.childCount > 0) { Chip chipInTileScript = tileItem.GetChild(0).GetComponent <Chip>(); if (chipInTileScript.IsActive && chipInTileScript.Type == chip.Type) { chipInTileScript.Deactivate(); } } } // activate chosen chip.Activate(); }
private void updateTurretsScrollerSelection() { if (Input.GetAxis("Mouse ScrollWheel") != 0f) { bool isMoveForward = (Input.GetAxis("Mouse ScrollWheel") > 0f); Chip activeTurretChip = Inventory.Instance.GetActiveChip(Chip.ChipType.TURRET); if (activeTurretChip != null) { activeTurretChip.Deactivate(); Chip nextChip = Inventory.Instance.GetNextChip(activeTurretChip, isMoveForward); Inventory.Instance.ActivateChipExclusively(nextChip); } } }