protected internal override void OnUpdate(IFsm <IProcedureManager> procedureOwner, float elapseSeconds, float realElapseSeconds) { base.OnUpdate(procedureOwner, elapseSeconds, realElapseSeconds); if (Input.GetMouseButtonDown(0)) { //TestObject testObject = m_testPool.Spawn("test1"); //Debug.Log(testObject.Target); //m_testPool.Unspawn(testObject.Target); HPBarItem item = poolComponent.ShowHP(); m_ActiveHPBarItems.Add(item); } if (Input.GetMouseButtonDown(1)) { //TestObject testObject = m_testPool.Spawn("test1"); //Debug.Log(testObject.Target); //m_testPool.Unspawn(testObject.Target); if (m_ActiveHPBarItems.Count > 0) { HPBarItem item = m_ActiveHPBarItems[0]; m_ActiveHPBarItems.RemoveAt(0); poolComponent.HideHP(item); } } }
protected internal override void Release(bool isShutdown) { HPBarItem hpBarItem = (HPBarItem)Target; if (hpBarItem == null) { return; } Object.Destroy(hpBarItem.gameObject); }
public HPBarItem ShowHP() { HPBarItem hpBarItem = null; HPBarItemObject hpBarItemObject = m_HPBarItemObjectPool.Spawn(); if (hpBarItemObject != null) { hpBarItem = (HPBarItem)hpBarItemObject.Target; } else { hpBarItem = Instantiate(m_HPBarItemTemplate); Transform transform = hpBarItem.GetComponent <Transform>(); transform.SetParent(m_HPBarInstanceRoot); transform.localScale = Vector3.one; m_HPBarItemObjectPool.Register(HPBarItemObject.Create(hpBarItem), true); } return(hpBarItem); }
public void HideHP(HPBarItem hpBarItem) { m_HPBarItemObjectPool.Unspawn(hpBarItem); }