Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
    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;

    }
Ejemplo n.º 4
0
    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;
    }