コード例 #1
0
ファイル: ObjectGetterCached.cs プロジェクト: andy-paine/Q3
        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);
        }
コード例 #2
0
    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);
        }
    }