Beispiel #1
0
 protected virtual void Awake()
 {
     if (hitEffect != null)
     {
         GlobalObjectPool.TryAddPool(hitEffect, 5);
     }
 }
Beispiel #2
0
        public void AddObjectTest()
        {
            var obj    = new object();
            var addObj = GlobalObjectPool.Add("testObj", obj);

            Assert.NotNull(addObj);
        }
Beispiel #3
0
        public void GetObjectTest()
        {
            var obj = new List <string> {
                "1", "2"
            };

            GlobalObjectPool.Add("testObj", obj);

            var obj2 = GlobalObjectPool.Get <object>("testObj");

            Assert.Same(obj, obj2);
        }
Beispiel #4
0
    private Attack CreateAttack(ISkillOwner owner, Action <IBody> onHit, Action <IBody> onKill)
    {
        int    damage = (int)(owner.GetDamage() * this.damage);
        Attack attack = new Attack(owner, damage, onHit, onKill);

        attack.onHit += target =>
        {
            if (hitSound != null)
            {
                AudioManager.PlaySound(hitSound);
            }

            if (hitEffect != null)
            {
                var effect = GlobalObjectPool.GetPooledObject(hitEffect);
                effect.transform.position = target.GetPosition();
                effect.Play();
            }
        };



        return(attack);
    }
Beispiel #5
0
    private void Shoot(Attack attack, List <string> targetTags, Vector3 src, Vector3 direction)
    {
        Bullet bullet = GlobalObjectPool.GetPooledObject(bulletPrefab);

        bullet.Shooted(attack, targetTags, hitGround, src, direction, speed, life);
    }
Beispiel #6
0
 protected override void Awake()
 {
     base.Awake();
     GlobalObjectPool.TryAddPool(bulletPrefab, initialBulletCount);
 }
 public static void StartStage(int stageIndex)
 {
     Stage.stageIndex = stageIndex;
     GlobalObjectPool.Clear();
     SceneManager.LoadScene("testScene");
 }