public override IGrabableItem Create(IPotionInitializer initializer)
        {
            initializer.Factory = this;
            var res = new TPotion();

            res.Initialize(initializer);
            return(res);
        }
예제 #2
0
        protected void InitializePotion(IPotionInitializer initializer)
        {
            if (initialized)
            {
                throw new InvalidOperationException();
            }

            Power       = initializer.PotionPower;
            Type        = initializer.Factory;
            initialized = true;
        }
예제 #3
0
 public Potion(IPotionInitializer initializer)
 {
     InitializePotion(initializer);
 }
예제 #4
0
 public Potion(IPotionInitializer initializer, PotionItemFactory type)
 {
     Power = initializer.PotionPower;
     Type  = type;
 }
예제 #5
0
 public Potion(IPotionInitializer initializer, PotionItemFactory type)
 {
     Power = initializer.PotionPower;
     Type = type;
 }
예제 #6
0
 public virtual IGrabableItem Create(IPotionInitializer initializator)
 {
     initializator.Factory = this;
     return(new Potion(initializator));
 }
예제 #7
0
 public void Initialize(IPotionInitializer initializer)
 {
     InitializePotion(initializer);
 }
예제 #8
0
 protected DrinkablePotion(IPotionInitializer initializer) : base(initializer)
 {
 }