public void SetInformationPanel(ProductScriptable product) { CloseInfoPanel(); informationPanel.SetActive(true); productNameText.text = product.productName; productDimensionText.text = product.productDimension + " cells."; productImage.sprite = product.productSprite; switch (product.productType) // product type is the type of builds, soldiers etc. { case ProductType.Soldier: //If we want to upgrade or product new skills for soldiers we can set items which it will product to content. break; case ProductType.Barrack: for (int i = 0; i < product.productableList.Count; i++) { Instantiate(product.productableList[i], informationContent.transform); } informationScrollRect.gameObject.SetActive(true); break; case ProductType.PowerPlant: //for the future if we will produce new units from PP we can set items to content. break; default: break; } }
public ProductObject Create(ProductScriptable data) { switch (data.ProductGroup) { case ProductGroup.Weapon: return(new WeaponProductFactory(data).CreateWeapon()); case ProductGroup.Armor: return(new ArmorProductFactory(data).CreateArmor()); case ProductGroup.Equipment: return(new EquipmentProductFactory(data).CreateEquipment()); case ProductGroup.Bionic: return(new TeamProductFactory(data).CreateTeam()); default: throw new ArgumentOutOfRangeException(); } }
public ProductBuilder(ProductScriptable data) { _data = data; }
public ArmorProductFactory(ProductScriptable data) { _data = data as ArmorProductScriptable; }
public TeamProductFactory(ProductScriptable data) { _data = data as TeamProductScriptable; }
public EquipmentProductFactory(ProductScriptable data) { _data = data as EquipmentProductScriptable; }
public WeaponProductFactory(ProductScriptable data) { _data = data as WeaponProductScriptable; }