Beispiel #1
0
    void Update()
    {
        if (mCurrentWeapon != null)
        {
            mTime += Time.deltaTime;

            if (mTime >= mCurrentWeapon._CoolDownTime)
            {
                mTime = 0.0f;
                Vector3 startPos = mMovement.transform.position;
                startPos.y -= 0.6f;

                mCurrentWeapon.Fire(startPos);
            }
        }

        CharacterLevelInfo currentLevel = _LevelInfo [mShooter.CurrentLevel() - 1];
        Vector3            newPos       = transform.position;

        newPos.y          -= (currentLevel._Speed * Time.deltaTime);
        transform.position = newPos;

        if (IsOutsideBottomScreen(newPos))
        {
            PoolManager.AddObject(_PoolKeyName, gameObject);
        }
    }
Beispiel #2
0
    public override void HandleGameOverEvent()
    {
        base.HandleGameOverEvent();

        mTime = 0.0f;
        PoolManager.AddObject(_PoolKeyName, gameObject);
    }
Beispiel #3
0
    void Update()
    {
        Vector3 pos = transform.position;

        pos.y -= (_Weapon._Speed * Time.deltaTime) * _Weapon._Direction;
        transform.position = pos;

        if (IsOutsideScreen(pos))
        {
            PoolManager.AddObject(_Weapon._BulletName, gameObject);
        }
    }
Beispiel #4
0
    public ExplosionObject CreateExplosion(Vector3 position, float scale)
    {
        ExplosionObject explosion = poolManager.AddObject(templateObject) as ExplosionObject;

        explosion.transform.position   = position;
        explosion.transform.localScale = Vector3.one * scale;

        for (int i = 0; i < explosion.transform.childCount; i++)
        {
            explosion.transform.GetChild(i).localScale = Vector3.one * scale;
        }

        explosion.Setup();
        return(explosion);
    }
Beispiel #5
0
    void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.layer == LayerMask.NameToLayer(_BulletMaskName))
        {
            Bullet bullet = other.gameObject.GetComponent <Bullet>();
            PoolManager.AddObject(bullet._Weapon._BulletName, bullet.gameObject);

            mCurrentDamage += bullet._Weapon._Damage;
            CharacterLevelInfo levelInfo = _LevelInfo[mShooter.CurrentLevel() - 1];
            if (mCurrentDamage >= levelInfo._MaxDamage)
            {
                mShooter.LostLife();
                mCurrentDamage = 0;
            }
        }
    }
Beispiel #6
0
    void Awake()
    {
        Pool = PoolManager.Instance;
        Pool.CreatePool(PoolType.Particles, CountParticle, PrefabeFX);
        Pool.CreatePool(PoolType.Stick, CountStick, PrefabStick);
        Pool.CreatePool(PoolType.UIHitNormal, CountUIHit, PrefabUiHit);
        Pool.CreatePool(PoolType.UIHitPerfect, CountUIHit, PrefabUIHiTPerfect);
        Pool.CreatePool(PoolType.CritFruit, CountCrit, PrefabCrit);
        Pool.GetObject(PoolType.CritFruit);
        Pool.CreatePool(PoolType.Fruit, 0, null);
        Pool.CreatePool(PoolType.Indicator, 3, PrefabeIndicator);
        Pool.CreatePool(PoolType.UIHItSticks, 2, PrefabUIAmountStick);

        for (int i = 0; i < ArrPreabFruits.Length; i++)
        {
            Pool.AddObject(PoolType.Fruit, ArrPreabFruits[i], CountFruit);
        }

        Pool.MixObjectInPool(PoolType.Fruit);
    }
Beispiel #7
0
    void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.layer == LayerMask.NameToLayer(_BulletMaskName))
        {
            Bullet bullet = other.gameObject.GetComponent <Bullet>();

            if (bullet._Weapon.gameObject.layer == LayerMask.NameToLayer(_PlayerMaskName))
            {
                PoolManager.AddObject(bullet._Weapon._BulletName, bullet.gameObject);

                mCurrentDamage += bullet._Weapon._Damage;

                if (mCurrentDamage >= _LevelInfo[mShooter.CurrentLevel() - 1]._MaxDamage)
                {
                    PoolManager.AddObject(_PoolKeyName, gameObject);
                    mCurrentDamage = 0;
                }

                mShooter.AddPoint(bullet._Weapon._Point);
            }
        }
    }
Beispiel #8
0
 void OnTriggerExit(Collider other)
 {
     //Debug.Log ("Bullet exit");
     PoolManager.AddObject(_Weapon._BulletName, gameObject);
 }
Beispiel #9
0
 protected virtual Badguy GetNewBadguy()
 {
     return(poolManager.AddObject(templateObject) as Badguy);
 }