From c5f145786f4c6d2fe4bea831dfc16e52228920a5 Mon Sep 17 00:00:00 2001 From: chai <215380520@qq.com> Date: Sun, 19 May 2024 16:05:01 +0800 Subject: * move --- GameCode/PerkSelectionGroup.cs | 165 ----------------------------------------- 1 file changed, 165 deletions(-) delete mode 100644 GameCode/PerkSelectionGroup.cs (limited to 'GameCode/PerkSelectionGroup.cs') diff --git a/GameCode/PerkSelectionGroup.cs b/GameCode/PerkSelectionGroup.cs deleted file mode 100644 index 06d1131..0000000 --- a/GameCode/PerkSelectionGroup.cs +++ /dev/null @@ -1,165 +0,0 @@ -using System.Collections.Generic; -using TMPro; -using UnityEngine; - -public class PerkSelectionGroup : MonoBehaviour -{ - private enum Type - { - Weapons, - Perks, - Mutations, - FixedLoadout - } - - public GameObject perkSelectionItemPrefab; - - public GameObject perkLockedPrefab; - - [SerializeField] - private Type type; - - private PerkManager perkManager; - - private int selectableAmount = 10000; - - private List selectedInMyGroup = new List(); - - [SerializeField] - private TMP_Text headerText; - - [SerializeField] - private string selectNone = "No perks unlocked yet."; - - [SerializeField] - private string selectOne = "Select one perk."; - - [SerializeField] - private string selectMulti = "Select perks."; - - [SerializeField] - private bool canDeselectPerks = true; - - [SerializeField] - private Color textColorNormal = Color.white; - - [SerializeField] - private Color textColorWarning = Color.red; - - private int unlockedPerks; - - private void Start() - { - UpdateVisuals(); - } - - public void UpdateVisuals() - { - perkManager = PerkManager.instance; - int num = 0; - for (int num2 = base.transform.childCount - 1; num2 >= 0; num2--) - { - Object.Destroy(base.transform.GetChild(num2).gameObject); - } - unlockedPerks = 0; - for (int i = 0; i < perkManager.UnlockedEquippables.Count; i++) - { - Equippable equippable = perkManager.UnlockedEquippables[i]; - if (equippable.GetType() == typeof(PerkPoint)) - { - num++; - } - if ((type == Type.Weapons && equippable.GetType() == typeof(EquippableWeapon)) || (type == Type.Perks && equippable.GetType() == typeof(EquippablePerk)) || (type == Type.Mutations && equippable.GetType() == typeof(EquippableMutation))) - { - Object.Instantiate(perkSelectionItemPrefab, base.transform).GetComponent().Initialize(equippable); - unlockedPerks++; - } - } - for (int j = 0; j < perkManager.MetaLevels.Count; j++) - { - Equippable reward = perkManager.MetaLevels[j].reward; - if (((type == Type.Weapons && reward.GetType() == typeof(EquippableWeapon)) || (type == Type.Perks && reward.GetType() == typeof(EquippablePerk)) || (type == Type.Mutations && reward.GetType() == typeof(EquippableMutation))) && !perkManager.UnlockedEquippables.Contains(reward)) - { - Object.Instantiate(perkLockedPrefab, base.transform); - } - } - if (type == Type.FixedLoadout && LevelInteractor.lastActivatedLevelInteractor != null) - { - selectableAmount = 0; - LevelInteractor lastActivatedLevelInteractor = LevelInteractor.lastActivatedLevelInteractor; - for (int k = 0; k < lastActivatedLevelInteractor.fixedLoadout.Count; k++) - { - Equippable equippable2 = lastActivatedLevelInteractor.fixedLoadout[k]; - PerkSelectionItem component = Object.Instantiate(perkSelectionItemPrefab, base.transform).GetComponent(); - component.Selected = true; - component.Initialize(equippable2); - selectableAmount++; - } - } - if (type == Type.Weapons) - { - selectableAmount = 1; - } - if (type == Type.Perks) - { - selectableAmount = num; - } - if (type == Type.Mutations) - { - selectableAmount = 10000; - } - if (selectableAmount <= 0 || unlockedPerks <= 0) - { - headerText.text = selectNone; - } - else if (selectableAmount == 1) - { - headerText.text = selectOne; - } - else - { - headerText.text = selectMulti.Replace("", selectableAmount.ToString()); - } - } - - private void Update() - { - if (selectedInMyGroup.Count < Mathf.Min(unlockedPerks, selectableAmount)) - { - headerText.color = textColorWarning; - } - else - { - headerText.color = textColorNormal; - } - } - - public void SelectPerk(PerkSelectionItem _selectedPerk) - { - if (!canDeselectPerks && _selectedPerk.Selected) - { - return; - } - _selectedPerk.Selected = !_selectedPerk.Selected; - if (_selectedPerk.Selected) - { - selectedInMyGroup.Add(_selectedPerk); - if (!perkManager.CurrentlyEquipped.Contains(_selectedPerk.Equippable)) - { - perkManager.CurrentlyEquipped.Add(_selectedPerk.Equippable); - } - if (selectedInMyGroup.Count > selectableAmount) - { - PerkSelectionItem perkSelectionItem = selectedInMyGroup[0]; - perkSelectionItem.Selected = false; - selectedInMyGroup.Remove(perkSelectionItem); - perkManager.CurrentlyEquipped.Remove(perkSelectionItem.Equippable); - } - } - else - { - selectedInMyGroup.Remove(_selectedPerk); - perkManager.CurrentlyEquipped.Remove(_selectedPerk.Equippable); - } - } -} -- cgit v1.1-26-g67d0