public override IGrabableItem Create(IPotionInitializer initializer) { initializer.Factory = this; var res = new TPotion(); res.Initialize(initializer); return(res); }
protected void InitializePotion(IPotionInitializer initializer) { if (initialized) { throw new InvalidOperationException(); } Power = initializer.PotionPower; Type = initializer.Factory; initialized = true; }
public Potion(IPotionInitializer initializer) { InitializePotion(initializer); }
public Potion(IPotionInitializer initializer, PotionItemFactory type) { Power = initializer.PotionPower; Type = type; }
public virtual IGrabableItem Create(IPotionInitializer initializator) { initializator.Factory = this; return(new Potion(initializator)); }
public void Initialize(IPotionInitializer initializer) { InitializePotion(initializer); }
protected DrinkablePotion(IPotionInitializer initializer) : base(initializer) { }