コード例 #1
0
        public JsonResult Bonus(string MyChecked)
        {
            Bonus n = new Bonus();
            BonusData nd = new BonusData();
            var array = MyChecked.Split(',');
            if (MyChecked != "" && MyChecked != null)
            {
                for (var i = 0; i < array.Length; i++)
                {
                    //var Original = nd.Get().ToList().Where(a => a.num.ToString() == array[i]).SingleOrDefault();
                    //var DelPath = System.IO.Path.Combine(Server.MapPath("~/upload/News/"), Original.pic1);
                    //System.IO.File.Delete(DelPath);
                    //if (Original.jsonimg != "no_img.jpg")
                    //{
                    //    var jsonstr = JsonConvert.DeserializeObject<List<jsonSer>>(Original.jsonimg);
                    //    var DelJsonPath = Server.MapPath("~/upload/photograhy/");
                    //    foreach (var j in jsonstr)
                    //    {
                    //        var DelJsonPathing = System.IO.Path.Combine(DelJsonPath, j.content);
                    //        System.IO.File.Delete(DelJsonPathing);
                    //    }
                    //}
                    n.num = Convert.ToInt32(array[i]);
                    nd.Delete(n);

                }
            }
            return Json("");
        }
コード例 #2
0
ファイル: Bag.cs プロジェクト: CriDos/CypherCore
        public override bool Create(ulong guidlow, uint itemid, Player owner)
        {
            var itemProto = Global.ObjectMgr.GetItemTemplate(itemid);

            if (itemProto == null || itemProto.GetContainerSlots() > ItemConst.MaxBagSize)
            {
                return(false);
            }

            _Create(ObjectGuid.Create(HighGuid.Item, guidlow));

            _bonusData = new BonusData(itemProto);

            SetEntry(itemid);
            SetObjectScale(1.0f);

            if (owner)
            {
                SetOwnerGUID(owner.GetGUID());
                SetContainedIn(owner.GetGUID());
            }

            SetUpdateFieldValue(m_values.ModifyValue(m_itemData).ModifyValue(m_itemData.MaxDurability), itemProto.MaxDurability);
            SetDurability(itemProto.MaxDurability);
            SetCount(1);

            // Setting the number of Slots the Container has
            SetBagSize(itemProto.GetContainerSlots());

            // Cleaning 20 slots
            for (byte i = 0; i < ItemConst.MaxBagSize; ++i)
            {
                SetSlot(i, ObjectGuid.Empty);
            }

            m_bagslot = new Item[ItemConst.MaxBagSize];
            return(true);
        }
コード例 #3
0
ファイル: Bag.cs プロジェクト: query-wow/CypherCore
        public override bool Create(ulong guidlow, uint itemid, Player owner)
        {
            var itemProto = Global.ObjectMgr.GetItemTemplate(itemid);

            if (itemProto == null || itemProto.GetContainerSlots() > ItemConst.MaxBagSize)
            {
                return(false);
            }

            _Create(ObjectGuid.Create(HighGuid.Item, guidlow));

            _bonusData = new BonusData(itemProto);

            SetEntry(itemid);
            SetObjectScale(1.0f);

            if (owner)
            {
                SetGuidValue(ItemFields.Owner, owner.GetGUID());
                SetGuidValue(ItemFields.Contained, owner.GetGUID());
            }

            SetUInt32Value(ItemFields.MaxDurability, itemProto.MaxDurability);
            SetUInt32Value(ItemFields.Durability, itemProto.MaxDurability);
            SetUInt32Value(ItemFields.StackCount, 1);

            // Setting the number of Slots the Container has
            SetUInt32Value(ContainerFields.NumSlots, itemProto.GetContainerSlots());

            // Cleaning 20 slots
            for (byte i = 0; i < ItemConst.MaxBagSize; ++i)
            {
                SetGuidValue(ContainerFields.Slot1 + (i * 4), ObjectGuid.Empty);
            }

            m_bagslot = new Item[ItemConst.MaxBagSize];
            return(true);
        }
コード例 #4
0
 /// <summary>
 /// Add Healths action for player
 /// </summary>
 /// <param name="_bonus"></param>
 public void AddHealths(BonusData _bonus)
 {
     hPoints += _bonus.Value;
     OnHealthsSet(hPoints);
     if (hPoints <= 0)
     {
         gameObject.SetActive(value: false);
         OnPlayerDead();
     }
     else
     {
         if (_animator)
         {
             _animator.Play(HealthsAnimation);
             if (_bonusAudioSource != null && _bonus.Sound != null)
             {
                 _bonusAudioSource.PlayOneShot(
                     clip: _bonus.Sound,
                     volumeScale: 1
                     );
             }
         }
     }
 }
コード例 #5
0
 public void Load(UXMLElement element)
 {
     Id         = element.GetString("id");
     RemainTime = element.GetFloat("time");
     data       = resourceService.GetBonus(Id);
 }
コード例 #6
0
 public BuffInfo(string id, float remainTime)
 {
     Id         = id;
     RemainTime = remainTime;
     data       = resourceService.GetBonus(Id);
 }
コード例 #7
0
 public BuffInfo(BonusData data)
 {
     this.data  = data;
     Id         = data.id;
     RemainTime = data.interval;
 }
コード例 #8
0
ファイル: AlchemyView.cs プロジェクト: OlegGelezcov/Casual
        public override void Setup(object objdata = null)
        {
            base.Setup(objdata);

            if (source == null)
            {
                source = resourceService.bonusList;
            }
            if (objdata == null)
            {
                index = 0;
            }
            else
            {
                BonusData data = objdata as BonusData;
                if (data == null)
                {
                    throw new ArgumentException(typeof(BonusData).Name);
                }
                index = source.FindIndex(b => b.id == data.id);
                if (index < 0)
                {
                    index = 0;
                }
            }

            BonusData     bonusData     = source[index];
            List <string> ingredientIds = bonusData.ingredientList;

            wishlistView.Setup();
            for (int i = 0; i < ingredientIds.Count; i++)
            {
                IngredientData ingredientData = resourceService.GetIngredient(ingredientIds[i]);
                if (i < ingredientViews.Length)
                {
                    ingredientViews[i].Setup(ingredientData);
                }
            }

            bonusView.Setup(bonusData);

            nextButton.SetListener(() => {
                if (source != null)
                {
                    index++;
                    if (index >= source.Count)
                    {
                        index = 0;
                    }
                    BonusData nextData = source[index];
                    Setup(nextData);
                }
            }, engine.GetService <IAudioService>());

            prevButton.SetListener(() => {
                if (source != null)
                {
                    index--;
                    if (index < 0)
                    {
                        index = source.Count - 1;
                    }
                    BonusData prevData = source[index];
                    Setup(prevData);
                }
            }, engine.GetService <IAudioService>());


            combineButton.SetListener(() => {
                if (ravenhillGameModeService.IsAlchemyReadyToCharge(bonusData))
                {
                    ravenhillGameModeService.ChargeAlchemy(bonusData);
                }
            }, engine.GetService <IAudioService>());

            combineUpdateTimer.Setup(0.5f, (delta) => {
                if (bonusData != null)
                {
                    combineButton.interactable = ravenhillGameModeService.IsAlchemyReadyToCharge(bonusData);
                }
            });
        }
コード例 #9
0
    /// <summary>
    /// Редактирование выбранной карты
    /// </summary>
    private void EditCard()
    {
        if (!editButt)
        {
            editButt = true;
        }

        CardData cd = new CardData();

        GUILayout.Label("Редактирование карты", EditorStyles.boldLabel);
        GUILayout.Space(10);

        GUILayout.BeginHorizontal();
        GUILayout.Label(new GUIContent("Уникальное имя для редактора", "Не будет видно в игре(игроку)"));
        _name = EditorGUILayout.TextField(_name);
        GUILayout.EndHorizontal();

        GUILayout.Space(5);
        GUILayout.BeginHorizontal();
        GUILayout.Label(new GUIContent("Внутриигровое имя", "Название карты которое будет видно непосредственно игроку"));
        _inGameName = EditorGUILayout.TextField(_inGameName);
        GUILayout.EndHorizontal();

        GUILayout.Space(5);
        GUILayout.BeginHorizontal();
        GUILayout.Label(new GUIContent("Стоимость карты и необходимый ресурс", "Т.е. мана или очки действия"));
        _cost = EditorGUILayout.IntSlider(_cost, 0, 10);

        if (cardsList[selectedCardIndex].manaSpell)
        {
            costType = 1;
        }
        else
        {
            costType = 0;
        }

        costType = EditorGUILayout.Popup(costType, costTypes);
        if (costType == 0)
        {
            _isManaSpell = false;
        }
        else
        {
            _isManaSpell = true;
        }
        GUILayout.EndHorizontal();

        GUILayout.Space(5);
        GUILayout.BeginHorizontal();
        GUILayout.Label(new GUIContent("Тип карты", "Вызов существа или заклинание"));

        spellType = EditorGUILayout.Popup(spellType, spellTypes);
        if (spellType == 0)
        {
            _isCreature = true;
            _creature   = EditorGUILayout.ObjectField(_creature, typeof(GameObject), true) as GameObject;
        }
        else
        {
            _isCreature = false;
            bonusIndex  = EditorGUILayout.Popup(bonusIndex, bonusNames.ToArray());

            _bonus = bonusList[bonusIndex];
        }
        GUILayout.EndHorizontal();

        //Помогайка
        GUILayout.Space(10);
        if (!_isCreature && _bonus.type != SpellType.heal)
        {
            EditorGUILayout.HelpBox("Spell Info:" +
                                    "\n" + _bonus.unikName +
                                    "\n" + _bonus.type +
                                    "\n" + _bonus.fullName +
                                    "\n" + _bonus.target +
                                    "\n" + _bonus.att + "/" + _bonus.hp, MessageType.Info);
        }
        else if (!_isCreature && _bonus.type == SpellType.heal)
        {
            EditorGUILayout.HelpBox("Spell Info:" +
                                    "\n" + _bonus.unikName +
                                    "\n" + _bonus.type +
                                    "\n" + _bonus.fullName +
                                    "\n" + _bonus.target +
                                    "\n" + _bonus.hp, MessageType.Info);
        }

        #region Сохранение в кэш/Отмена
        GUILayout.BeginHorizontal();
        //Save button
        using (new EditorGUI.DisabledGroupScope(_name == string.Empty || _inGameName == string.Empty))
        {
            if (GUILayout.Button(new GUIContent("Save", "Сохранение изменений. Не сохраняет в файл")))
            {
                cd.cardName   = _name;
                cd.inGameName = _inGameName;
                cd.cost       = _cost;
                cd.manaSpell  = _isManaSpell;

                if (_isCreature)
                {
                    cd.creatureName    = _creature.name;
                    cd.cardsBonusIndex = 0;
                }
                else
                {
                    cd.creatureName    = string.Empty;
                    cd.cardsBonusIndex = bonusIndex;
                }

                cardsList[selectedCardIndex]  = cd;
                cardsNames[selectedCardIndex] = cd.cardName;

                editButt = false;
            }
        }

        //Cancel button
        using (new EditorGUI.DisabledGroupScope(cardsList.Count == 0))
        {
            if (GUILayout.Button(new GUIContent("Cancel", "Отменить изменения")))
            {
                editButt = false;
            }
        }
        GUILayout.EndHorizontal();
        #endregion Сохранение в кэш/Отмена

        #region Инфо о редактируемой карте
        EditorGUILayout.HelpBox("---Редактируемая карта---", MessageType.Info);

        GUILayout.Space(10);
        GUILayout.Label("Карта:", EditorStyles.boldLabel);

        GUILayout.BeginHorizontal();
        GUILayout.Label("Уникальное имя(для редактора):");
        GUILayout.Label(cardsList[selectedCardIndex].cardName);
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        GUILayout.Label("Игровое название(для игрока):");
        GUILayout.Label(cardsList[selectedCardIndex].inGameName);
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        GUILayout.Label("Стоимость карты:");
        GUILayout.Label(cardsList[selectedCardIndex].cost.ToString());

        if (cardsList[selectedCardIndex].manaSpell)
        {
            GUILayout.Label("mana");
        }
        else
        {
            GUILayout.Label("action");
        }
        GUILayout.EndHorizontal();

        //Если вызов существа
        if (cardsList[selectedCardIndex].creatureName != string.Empty)
        {
            GUILayout.BeginHorizontal();
            GUILayout.Label("Имя призываемого существа:");
            GUILayout.Label(cardsList[selectedCardIndex].creatureName, EditorStyles.centeredGreyMiniLabel);
            GUILayout.EndHorizontal();
        }
        //Если заклинание
        else
        {
            _bonus = bonusList[cardsList[selectedCardIndex].cardsBonusIndex];

            GUILayout.Space(10);
            GUILayout.Label("Spell info:", EditorStyles.boldLabel);

            GUILayout.BeginHorizontal();
            GUILayout.Label("Название(для редактора):");
            GUILayout.Label(_bonus.unikName);
            GUILayout.EndHorizontal();
        }
        #endregion
    }
コード例 #10
0
    /// <summary>
    /// Сохдание новой карты
    /// </summary>
    private void CreateCard()
    {
        if (!addButt)
        {
            addButt = true; //Если было запущено ввиду отсутствия карт в списке, нужно отметить, что сейчас действует это окно
        }
        CardData cd = new CardData();

        GUILayout.Label("Создание новой карты", EditorStyles.boldLabel);
        GUILayout.Space(10);

        GUILayout.BeginHorizontal();
        GUILayout.Label(new GUIContent("Уникальное имя для редактора", "Не будет видно в игре(игроку)"));
        _name = EditorGUILayout.TextField(_name);
        GUILayout.EndHorizontal();

        GUILayout.Space(5);
        GUILayout.BeginHorizontal();
        GUILayout.Label(new GUIContent("Внутриигровое имя", "Название карты которое будет видно непосредственно игроку"));
        _inGameName = EditorGUILayout.TextField(_inGameName);
        GUILayout.EndHorizontal();

        GUILayout.Space(5);
        GUILayout.BeginHorizontal();
        GUILayout.Label(new GUIContent("Стоимость карты и необходимый ресурс", "Т.е. мана или очки действия"));
        _cost = EditorGUILayout.IntSlider(_cost, 0, 10);

        costType = EditorGUILayout.Popup(costType, costTypes);
        if (costType == 0)
        {
            _isManaSpell = false;
        }
        else
        {
            _isManaSpell = true;
        }
        GUILayout.EndHorizontal();

        GUILayout.Space(5);
        GUILayout.BeginHorizontal();
        GUILayout.Label(new GUIContent("Тип карты", "Вызов существа или заклинание"));
        spellType = EditorGUILayout.Popup(spellType, spellTypes);
        if (spellType == 0)
        {
            _isCreature = true;
            _creature   = EditorGUILayout.ObjectField(_creature, typeof(GameObject), true) as GameObject;
        }
        else
        {
            _isCreature = false;
            bonusIndex  = EditorGUILayout.Popup(bonusIndex, bonusNames.ToArray());

            _bonus = bonusList[bonusIndex];
        }
        GUILayout.EndHorizontal();

        //Помогайка
        GUILayout.Space(10);
        if (!_isCreature && _bonus.type != SpellType.heal)
        {
            EditorGUILayout.HelpBox("Spell Info:" +
                                    "\n" + _bonus.unikName +
                                    "\n" + _bonus.type +
                                    "\n" + _bonus.fullName +
                                    "\n" + _bonus.target +
                                    "\n" + _bonus.att + "/" + _bonus.hp, MessageType.Info);
        }
        else if (!_isCreature && _bonus.type == SpellType.heal)
        {
            EditorGUILayout.HelpBox("Spell Info:" +
                                    "\n" + _bonus.unikName +
                                    "\n" + _bonus.type +
                                    "\n" + _bonus.fullName +
                                    "\n" + _bonus.target +
                                    "\n" + _bonus.hp, MessageType.Info);
        }

        #region Сохранение в кэш/отмена
        GUILayout.Space(5);
        GUILayout.BeginHorizontal();
        using (new EditorGUI.DisabledGroupScope(_name == string.Empty || _inGameName == string.Empty))
        {
            //Save button
            if (GUILayout.Button(new GUIContent("Save", "Сохраняет карту и добавляет ее в список. Не сохраняет в файл")))
            {
                cd.cardName   = _name;
                cd.inGameName = _inGameName;
                cd.cost       = _cost;
                cd.manaSpell  = _isManaSpell;

                if (_isCreature)
                {
                    cd.creatureName    = _creature.name;
                    cd.cardsBonusIndex = 0;
                }
                else
                {
                    cd.creatureName    = string.Empty;
                    cd.cardsBonusIndex = bonusIndex;
                }

                cardsList.Add(cd);
                cardsNames.Add(cd.cardName);

                addButt = false;
            }
        }

        using (new EditorGUI.DisabledGroupScope(cardsList.Count == 0))
        {
            if (GUILayout.Button(new GUIContent("Cancel", "Отменить изменения")))
            {
                addButt = false;
            }
        }
        GUILayout.EndHorizontal();
        #endregion
    }
コード例 #11
0
 public void BonusInit(BonusData data)
 {
     _bonus = data;
 }
コード例 #12
0
ファイル: PlayerService.cs プロジェクト: OlegGelezcov/Casual
 public void AddBuff(BonusData data) => buffs.AddBuff(data);
コード例 #13
0
 public bool UpdateBonus(BonusData bonus)
 {
     return(dal.UpdateBonus(bonus) > 0);
 }
コード例 #14
0
ファイル: Events.cs プロジェクト: OlegGelezcov/Casual
 public static void OnAlchemyCharged(BonusData data)
 {
     AlchemyCharged?.Invoke(data);
 }
コード例 #15
0
 public BonusFabric(BonusData bonusData)
 {
     _bonusData = bonusData;
 }
コード例 #16
0
 /// <summary>
 /// Присваивание карты (карта = card)
 /// </summary>
 /// <param name="card">Карта, которую нужно присвоить</param>
 public void Assignment(Card card)
 {
     _cardData   = card.CardsData;
     _cardsBonus = card.CardsBonus;
     _creature   = card.CardsCreature;
 }
コード例 #17
0
        public override void Setup(IconData objdata)
        {
            base.Setup(objdata);

            data = objdata as IngredientData;
            if (data == null)
            {
                throw new ArgumentException(typeof(IngredientData).Name);
            }

            int       playerCount   = playerService.GetItemCount(data);
            BonusData bonusData     = resourceService.GetBonus(data.bonusId);
            int       requiredCount = bonusData.GetIngredientCount(data.id);
            Color     color         = Color.black;

            if (playerCount < requiredCount)
            {
                color = Color.red;
            }
            countText.text  = $"{playerCount}/{requiredCount}";
            countText.color = color;

            if (playerCount < requiredCount)
            {
                iconImage.color = new Color(1, 1, 1, 0.5f);
            }
            else
            {
                iconImage.color = Color.white;
            }

            buyButton.SetListener(() => {
                PriceData price = data.price;
                if (playerService.HasCoins(price))
                {
                    playerService.RemoveCoins(price);
                    playerService.AddItem(new InventoryItem(data, 1));
                }
                else
                {
                    viewService.ShowView(RavenhillViewType.bank);
                }
            }, engine.GetService <IAudioService>());

            wishButtonTimer.Setup(0.5f, (delta) => {
                if (data != null)
                {
                    wishButton.interactable = (!playerService.IsWishlistFull && !playerService.IsWishlistContains(data));
                }
                else
                {
                    wishButton.interactable = false;
                }
            });


            wishButton.SetListener(() => {
                playerService.AddToWishlist(data);
                wishButton.interactable = false;
            }, engine.GetService <IAudioService>());
        }
コード例 #18
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="person"></param>
 /// <returns></returns>
 public bool AddBonusData(BonusData bonus)
 {
     return(dal.AddBonusData(bonus) > 0);
 }
コード例 #19
0
    private void InfoScreen()
    {
        GUILayout.BeginHorizontal();
        selectedCardIndex = EditorGUILayout.Popup(selectedCardIndex, cardsNames.ToArray());
        editButt          = GUILayout.Button(new GUIContent("Edit", "Edit selected card"));
        addButt           = GUILayout.Button(new GUIContent("Add", "Add new card"));
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        GUILayout.Label("Уникальное имя(для редактора):");
        GUILayout.Label(cardsList[selectedCardIndex].cardName);
        _name = cardsList[selectedCardIndex].cardName;
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        GUILayout.Label("Игровое название(для игрока):");
        GUILayout.Label(cardsList[selectedCardIndex].inGameName);
        _inGameName = cardsList[selectedCardIndex].inGameName;
        GUILayout.EndHorizontal();

        GUILayout.BeginHorizontal();
        GUILayout.Label("Стоимость карты:");
        GUILayout.Label(cardsList[selectedCardIndex].cost.ToString());
        _cost = cardsList[selectedCardIndex].cost;

        //Тип стоимости
        if (cardsList[selectedCardIndex].manaSpell)
        {
            GUILayout.Label("mana");
            _isManaSpell = true;
        }
        else
        {
            GUILayout.Label("action");
            _isManaSpell = false;
        }
        GUILayout.EndHorizontal();

        //Если вызов существа
        if (cardsList[selectedCardIndex].creatureName != string.Empty)
        {
            GUILayout.BeginHorizontal();
            GUILayout.Label("Имя призываемого существа:");
            GUILayout.Label(cardsList[selectedCardIndex].creatureName, EditorStyles.centeredGreyMiniLabel);
            GUILayout.EndHorizontal();

            _isCreature = true;
        }
        //Если заклинание
        else
        {
            _bonus = bonusList[cardsList[selectedCardIndex].cardsBonusIndex];

            GUILayout.Space(10);
            GUILayout.Label("Spell info:", EditorStyles.boldLabel);

            GUILayout.BeginHorizontal();
            GUILayout.Label("Название(для редактора):");
            GUILayout.Label(_bonus.unikName);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Полное описание(для игрока):");
            GUILayout.Label(_bonus.fullName);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Тип заклинания(для редактора):");
            GUILayout.Label(_bonus.type.ToString());
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Цeль(-и):");
            GUILayout.Label(_bonus.target.ToString());
            GUILayout.EndHorizontal();

            if (_bonus.type != SpellType.heal)
            {
                GUILayout.Space(5);

                GUILayout.BeginHorizontal();
                GUILayout.Label("Значение attack:");
                GUILayout.Label(_bonus.att.ToString());
                GUILayout.EndHorizontal();
            }

            if (_bonus.type != SpellType.damage)
            {
                GUILayout.Space(5);

                GUILayout.BeginHorizontal();
                GUILayout.Label("Значение HP:      ");
                GUILayout.Label(_bonus.hp.ToString());
                GUILayout.EndHorizontal();
            }
        }

        #region Сохранение в файл
        if (GUILayout.Button(new GUIContent("Save", "Сохранить все изменения в файл")))
        {
            var saveList = new List <string>();  //писок зашифрованных Json-ом строк

            foreach (CardData cd in cardsList)
            {
                saveList.Add(JsonUtility.ToJson(cd));
            }

            File.WriteAllLines(path, saveList.ToArray());

            Debug.Log("Saved in " + path);
        }
        #endregion
    }
コード例 #20
0
    /// <summary>
    /// Изменение выбранного бонуса/заклинания
    /// </summary>
    /// <param name="selected">Индекс выбранного бонуса</param>
    private void EditBonus(int selected)
    {
        GUILayout.Label("Редактирование бонуса", EditorStyles.boldLabel);
        GUILayout.Space(10);

        BonusData bd = new BonusData();

        GUILayout.BeginHorizontal();
        GUILayout.Label(new GUIContent("Название заклинания:", "Уникальное имя"));
        _unikName = GUILayout.TextArea(_unikName);
        GUILayout.EndHorizontal();

        GUILayout.Space(5);
        GUILayout.BeginHorizontal();
        GUILayout.Label(new GUIContent("Тип бонуса/заклинания(для вызова метода):", "Может повторяться"));

        _type = (SpellType)EditorGUILayout.EnumPopup(_type);
        GUILayout.EndHorizontal();

        GUILayout.Space(5);
        GUILayout.Label(new GUIContent("Полное описание бонуса/заклинания(для игрока):",
                                       "Beta: пока нужно следить что бы описание совпадало с остальными данными"));
        _fullName = EditorGUILayout.TextArea(_fullName);

        GUILayout.Space(5);
        GUILayout.BeginHorizontal();
        GUILayout.Label("Цель:");

        _target = (TargetType)EditorGUILayout.EnumPopup(_target);
        GUILayout.EndHorizontal();

        //Если НЕ хилка, то отображаем атаку
        if (_type != SpellType.heal)
        {
            GUILayout.Space(5);
            GUILayout.BeginHorizontal();
            GUILayout.Label(new GUIContent("Значение attack:", "Если не нужно - 0"));

            _att = EditorGUILayout.IntSlider(_att, -20, 20);
            GUILayout.EndHorizontal();
        }
        //Если это все же хил, то значение атаки = 0
        else
        {
            _att = 0;
        }

        //Если это НЕ атака, то отображаем хп
        if (_type != SpellType.damage)
        {
            GUILayout.Space(5);
            GUILayout.BeginHorizontal();
            GUILayout.Label(new GUIContent("Значение HP:      ", "Если не нужно - 0"));
            _hp = EditorGUILayout.IntSlider(_hp, -20, 20);
            GUILayout.EndHorizontal();
        }
        //Если это все же нанесение урона(т.е. атака), но хп = 0
        else
        {
            _hp = 0;
        }

        //Помогайка
        EditorGUILayout.HelpBox("Главные сокращения:" +
                                "\nCreature-cr, destroy - dist," +
                                "\nЕсли был изменен список сокращенных имен, необходимо сопоставить его с Bonus скриптом", MessageType.Info);

        #region Сохранение
        GUILayout.Space(10);
        GUILayout.Label("Сохранить можно только если все поля заполнены");

        GUILayout.BeginHorizontal();
        using (new EditorGUI.DisabledGroupScope(_unikName == string.Empty || _fullName == string.Empty))
        {
            if (GUILayout.Button(new GUIContent("Confurm", "Завершение редактирование и переход к окну Info")))
            {
                //Перепись данных.
                bd.unikName = _unikName.ToLower();
                bd.type     = _type;
                bd.fullName = _fullName;
                bd.target   = _target;
                bd.att      = _att;
                bd.hp       = _hp;

                bonusList[selected]  = bd;
                bonusNames[selected] = bd.unikName;

                editButt = false;
            }
        }

        if (GUILayout.Button(new GUIContent("Cancel", "Отменяет все операции")))
        {
            editButt = false;
        }
        GUILayout.EndHorizontal();
        #endregion
    }
コード例 #21
0
 public BonusController(BonusData bonusData)
 {
     _bonusData = bonusData;
 }