public void SetButtonActions(UnityAction gotoAction, UnityAction clearAction)
    {
        GoToButton.onClick.RemoveAllListeners();
        GoToButton.onClick.AddListener(gotoAction);
        AddButton.onClick.RemoveAllListeners();
        AddButton.onClick.AddListener(delegate
        {
            LevelPropertyForm_ShopItemTypeDropdown sitd = GameObjectPoolManager.Instance.PoolDict[GameObjectPoolManager.PrefabNames.LevelPropertyForm_ShopItemTypeDropdown].AllocateGameObject <LevelPropertyForm_ShopItemTypeDropdown>(ShopItemContainer);
            sitd.Initialize(onDeleteButtonClick: delegate
            {
                My_LevelPropertyForm_ShopItemTypeDropdown.Remove(sitd);
                sitd.PoolRecycle();
            }, onAddShopItem : delegate(ShopItem.ShopItemTypes type)
            {
                My_LevelPropertyForm_ShopItemTypeDropdown.Remove(sitd);
                sitd.PoolRecycle();
                ShopItem si = null;
                switch (type)
                {
                case ShopItem.ShopItemTypes.Card:
                    {
                        si = new ShopItem_Card(100, 1, 50, false);
                        break;
                    }

                case ShopItem.ShopItemTypes.Budget:
                    {
                        si = new ShopItem_Budget(100, 50, 10, false);
                        break;
                    }

                case ShopItem.ShopItemTypes.LifeUpperLimit:
                    {
                        si = new ShopItem_LifeUpperLimit(100, 2, 10, false);
                        break;
                    }

                case ShopItem.ShopItemTypes.EnergyUpperLimit:
                    {
                        si = new ShopItem_EnergyUpperLimit(100, 2, 10, false);
                        break;
                    }
                }

                Cur_ShopItems.Add(si);
                Refresh();
            });
            My_LevelPropertyForm_ShopItemTypeDropdown.Add(sitd);
        });
        ClearButton.onClick.RemoveAllListeners();
        ClearButton.onClick.AddListener(clearAction);
    }
Beispiel #2
0
    public static ShopItem Deserialize(DataStream reader)
    {
        ShopItemTypes shopItemType = (ShopItemTypes)reader.ReadSInt32();
        int           price        = reader.ReadSInt32();
        int           probability  = reader.ReadSInt32();
        bool          isSingleton  = reader.ReadByte() == 0x01;
        int           shopItemID   = reader.ReadSInt32();
        ShopItem      si           = null;

        switch (shopItemType)
        {
        case ShopItemTypes.Card:
        {
            int rareLevel      = reader.ReadSInt32();
            int generateCardID = reader.ReadSInt32();
            si = new ShopItem_Card(price, rareLevel, probability, isSingleton);
            ((ShopItem_Card)si).GenerateCardID = generateCardID;
            break;
        }

        case ShopItemTypes.Budget:
        {
            int budget = reader.ReadSInt32();
            si = new ShopItem_Budget(price, budget, probability, isSingleton);
            break;
        }

        case ShopItemTypes.LifeUpperLimit:
        {
            int lifeUpperLimit = reader.ReadSInt32();
            si = new ShopItem_LifeUpperLimit(price, lifeUpperLimit, probability, isSingleton);
            break;
        }

        case ShopItemTypes.EnergyUpperLimit:
        {
            int energyUpperLimit = reader.ReadSInt32();
            si = new ShopItem_EnergyUpperLimit(price, energyUpperLimit, probability, isSingleton);
            break;
        }
        }

        si.ShopItemID = shopItemID;
        return(si);
    }