public override void OnDie() { base.OnDie(); // 체력표시용 UI들 비활성화! if (this.unitStatusBar != null) { ObjectPoolManager.inst.Return(this.unitStatusBar.gameObject); } if (this.bossStatusBar != null) { this.bossStatusBar.gameObject.SetActive(false); } this.unitStatusBar = null; this.bossStatusBar = null; // 그룹에 등록되어 있을 경우, 그룹에서 제외한다 if (!string.IsNullOrEmpty(this.aggroGroupKey)) { _aggroGroups[this.aggroGroupKey].Remove(this); } }
/// <summary> /// 유닛 상태 바를 생성한다 /// </summary> protected virtual void InitStatusBar() { if (!this.unit.isBoss) { //////////////////////////////////////// // 일반 유닛용 스테이터스 바 생성 if (this.unitStatusBar == null) { this.unitStatusBar = ObjectPoolManager.inst.Get <UI.UnitStatusBar>(PrefabPath.UI.UnitStatusBar); } // Transform 지정 this.unitStatusBar.transform.SetParent(this.unit.pivots.overhead); RectTransform rt = this.unitStatusBar.transform as RectTransform; rt.anchoredPosition3D = Vector3.zero; rt.localRotation = Quaternion.identity; rt.sizeDelta = new Vector2(300 * this.unit.radius * 2, rt.sizeDelta.y); rt.localScale = Vector3.one * 0.01f; this.unitStatusBar.Init(this.unit); } }