public override void Init() { _player = FindObjectOfType <Player>(); _showGun = FindObjectOfType <ShowGun>(); _showGun.Init(); _gunInventoryBar = Helper.Find <RectTransform>(transform, "Bar"); _damageGem = Helper.Find <GemSlot>(transform, GemPath + Damage); _powerGem = Helper.Find <GemSlot>(transform, GemPath + Power); _speedGem = Helper.Find <GemSlot>(transform, GemPath + Speed); _damageGem.Init(GemSlot.GemSlotType.Damage); _powerGem.Init(GemSlot.GemSlotType.Power); _speedGem.Init(GemSlot.GemSlotType.Speed); _damageSlotParent = Helper.Find <Transform>(transform, SlotPath + Damage); _powerSlotParent = Helper.Find <Transform>(transform, SlotPath + Power); _speedSlotParent = Helper.Find <Transform>(transform, SlotPath + Speed); _damageSockets = new GemSlot[5]; _powerSockets = new GemSlot[5]; _speedSockets = new GemSlot[5]; _damageSockets = _damageSlotParent.GetComponentsInChildren <GemSlot>(); _powerSockets = _powerSlotParent.GetComponentsInChildren <GemSlot>(); _speedSockets = _speedSlotParent.GetComponentsInChildren <GemSlot>(); for (int i = 0; i < _damageSockets.Length; i++) { _damageSockets[i].Init(GemSlot.GemSlotType.Damage, true); _powerSockets[i].Init(GemSlot.GemSlotType.Power, true); _speedSockets[i].Init(GemSlot.GemSlotType.Speed, true); } _buttons = GetComponentInChildren <Button>(); _buttons.onClick.AddListener(() => { CloseUpdate(); }); _originPos = _gunInventoryBar.transform.position; _gunInventoryBar.gameObject.SetActive(false); }