コード例 #1
0
ファイル: Skill.cs プロジェクト: Luiz4our/Portfolio
 protected virtual void Awake()
 {
     if (hitEffect != null)
     {
         GlobalObjectPool.TryAddPool(hitEffect, 5);
     }
 }
コード例 #2
0
        public void AddObjectTest()
        {
            var obj    = new object();
            var addObj = GlobalObjectPool.Add("testObj", obj);

            Assert.NotNull(addObj);
        }
コード例 #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);
        }
コード例 #4
0
ファイル: Skill.cs プロジェクト: Luiz4our/Portfolio
    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);
    }
コード例 #5
0
ファイル: Skill_Shoot.cs プロジェクト: Luiz4our/Portfolio
    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);
    }
コード例 #6
0
ファイル: Skill_Shoot.cs プロジェクト: Luiz4our/Portfolio
 protected override void Awake()
 {
     base.Awake();
     GlobalObjectPool.TryAddPool(bulletPrefab, initialBulletCount);
 }
コード例 #7
0
 public static void StartStage(int stageIndex)
 {
     Stage.stageIndex = stageIndex;
     GlobalObjectPool.Clear();
     SceneManager.LoadScene("testScene");
 }