public T Get(string id) { var obj = (T)Cache.Get(id); if (obj == null) { obj = ObjectGetter.Get(id); Cache.Set(id, obj, DateTimeOffset.Now.AddHours(ExpirationInHours)); } return(obj); }
public override void Fire() { var flyDirection = controller.GetFacingDirection(); var rotation = Quaternion.FromToRotation(Vector3.right, flyDirection); Bullet bullet = bulletGetter.Get <Bullet>(transform.position, rotation); if (bulletGetter.IsFromPool()) { bullet.Init(flyDirection, lifeTime, obj => obj.SetActive(false)); } else { bullet.Init(flyDirection, lifeTime, Destroy); } }