Example #1
0
    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);
    }
Example #2
0
    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();
        }
    }