public override void Init() { base.Init(); ClearTransform(craftsLayout); ClearTransform(bigItemLayout); var level = MainController.Instance.level; bool isGoodEnd = level.IsGoodEnd != EndlevelType.bad; var collectedMoney = level.GetAllCollectedMoney(); // crystalField.gameObject.SetActive(false); crystalField.transform.parent.gameObject.SetActive(false); foreach (var item in collectedMoney) { ChangingCounter t = null; switch (item.Key) { case ItemId.money: t = moneyField; break; case ItemId.crystal: var haveCrystals = item.Value > 0; crystalField.transform.parent.gameObject.SetActive(haveCrystals); if (haveCrystals) { t = crystalField; } break; } if (t != null) { t.Init(0); t.ChangeTo(item.Value); } } var crafts = level.CollectedCrafts; foreach (var craft in crafts) { ExecCraftItem craftItem = new ExecCraftItem(craft.Key,craft.Value); var playerItem = DataBaseController.GetItem<BaseSimpleElement>(PrefabCraft); playerItem.Init(craftItem); playerItem.gameObject.transform.SetParent(craftsLayout, false); } var items = level.CollectedItems; foreach (var baseItem in items) { var playerItem = DataBaseController.GetItem<BaseSimpleElement>(PrefabItem); playerItem.Init(baseItem); playerItem.gameObject.transform.SetParent(bigItemLayout, false); } string capt = isGoodEnd ? "Good end" : "Bad ending lose half of gold"; goodPicture.SetActive(isGoodEnd); badPicture.SetActive(!isGoodEnd); killsField.Init(0); captureField.text = capt; killsField.ChangeTo(level.EnemiesKills); }
public override void Execute(int parameter) { MainController.Instance.PlayerData.AddItem(new ExecCatalysItem(CatalysItemType.black, 2)); MainController.Instance.PlayerData.AddItem(new ExecCatalysItem(CatalysItemType.white, 2)); MainController.Instance.PlayerData.AddItem(new ExecCatalysItem(CatalysItemType.green, 2)); MainController.Instance.PlayerData.AddItem(new ExecCatalysItem(CatalysItemType.red, 2)); MainController.Instance.PlayerData.AddItem(new ExecCatalysItem(CatalysItemType.blue, 2)); foreach (CraftItemType v in Enum.GetValues(typeof(CraftItemType))) { var a = new ExecCraftItem(v, 50); MainController.Instance.PlayerData.AddItem(a); } base.Execute(parameter); }
public void Init(ExecCraftItem craftItem) { this.craftItem = craftItem; var myItem = MainController.Instance.PlayerData.GetAllItems() .FirstOrDefault(x => (x is ExecCraftItem) && ((ExecCraftItem) x).ItemType == craftItem.ItemType) as ExecCraftItem; int myCount = 0; if (myItem != null) { myCount = myItem.count; } Icon.sprite = craftItem.IconSprite; isEnought = myCount >= craftItem.count; isEnoughtGameobject.SetActive(isEnought); countField.text = Mathf.Clamp(myCount, 0, craftItem.count) + "/" + craftItem.count; }
public static ExecutableItem Create(string subStr) { var spl = subStr.Split(DELEM); ExecutableType t = (ExecutableType)Enum.Parse(typeof (ExecutableType), spl[0]); ExecutableItem item = null; var count = Convert.ToInt32(spl[1]); switch (t) { case ExecutableType.craft: item = new ExecCraftItem((CraftItemType)Enum.Parse(typeof(CraftItemType), spl[2]), count); break; case ExecutableType.enchant: item = new ExecEnchantItem((EnchantType)Enum.Parse(typeof(EnchantType), spl[2]), count); break; case ExecutableType.catalys: item = new ExecCatalysItem((CatalysItemType)Enum.Parse(typeof(CatalysItemType), spl[2]), count); break; } return item; }