IEnumerator EnumFunc_ItemCreate() { float fKeepTime = m_ItemKeepTime; float fDelay = m_ItemAppearDelay; while (m_bCreateItem) { yield return(new WaitForSeconds(fDelay - fKeepTime)); if (!m_bCreateItem) { break; } int nAssId = 0; MakeRandomItemObjectID(ref nAssId); CItemObj kItem = CreateItemObj(nAssId); kItem.Initialize(nAssId, MakeRamdomPos()); //Debug.LogFormat("ItemPos y = {0}", kItem.transform.localPosition.y); yield return(new WaitForSeconds(fKeepTime)); if (kItem != null && kItem.gameObject != null) { Destroy(kItem.gameObject); } fDelay = MakeRandomDelay(m_ItemAppearDelay); } yield return(null); }
public void Collision_Item(Collision kCollision) { GameInfo kGameInfo = GameMgr.Inst.m_GameInfo; CItemObj kItem = kCollision.gameObject.GetComponent <CItemObj>(); ItemInfo kItemInfo = kGameInfo.ActionItem(kItem.m_ID); if (kItemInfo.m_ItemType == (int)ItemInfo.Type.eExplose) { TurretFire(false); DestroyAllBullet(); ActionExploseEffect(); //총알 발사까지의 지연시간 후 다시 발사하기 Invoke("CBI_RestartTurretFire", (float)kItemInfo.m_ItemValue); } if (kItemInfo.m_ItemType == (int)ItemInfo.Type.eHealing) { ActionHealingEffect(); } }