protected virtual void Awake() { if (hitEffect != null) { GlobalObjectPool.TryAddPool(hitEffect, 5); } }
public void AddObjectTest() { var obj = new object(); var addObj = GlobalObjectPool.Add("testObj", obj); Assert.NotNull(addObj); }
public void GetObjectTest() { var obj = new List <string> { "1", "2" }; GlobalObjectPool.Add("testObj", obj); var obj2 = GlobalObjectPool.Get <object>("testObj"); Assert.Same(obj, obj2); }
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); }
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); }
protected override void Awake() { base.Awake(); GlobalObjectPool.TryAddPool(bulletPrefab, initialBulletCount); }
public static void StartStage(int stageIndex) { Stage.stageIndex = stageIndex; GlobalObjectPool.Clear(); SceneManager.LoadScene("testScene"); }