示例#1
0
    public void SelectSpell(JSONObject data, int idx)
    {
        SpellIcon ic = spellIcons.Find(x => x.spellName == data["spellName"].str);

        ic.Select(idx);

        SpellItem sData = spellsController.spells.Find(x => x.name == data["spellName"].str);

        spellData.SetActive(true);
        spellName.text = sData.showName;
        if (sData.type == "offensive")
        {
            spellMultiplier.text = (sData.knockbackMultiplier * 100) + "%";
            spellIncrement.text  = (sData.knockbackIncrement * 100 - 100) + "%";
            spellMultiplierIcon.SetActive(true);
            spellIncrementIcon.SetActive(true);
        }
        else
        {
            spellMultiplier.text = "";
            spellIncrement.text  = "";
            spellMultiplierIcon.SetActive(false);
            spellIncrementIcon.SetActive(false);
        }

        spellCooldown.text    = (sData.cooldown / 1000) + " sec.";
        spellDescription.text = sData.description;
    }
        public override void Deserialize(ICustomDataInput reader)
        {
            int slaveSpellsCount = reader.ReadUShort();
            int slaveSpellsIndex;

            m_slaveSpells = new System.Collections.Generic.List <SpellItem>();
            for (slaveSpellsIndex = 0; (slaveSpellsIndex < slaveSpellsCount); slaveSpellsIndex = (slaveSpellsIndex + 1))
            {
                SpellItem objectToAdd = new SpellItem();
                objectToAdd.Deserialize(reader);
                m_slaveSpells.Add(objectToAdd);
            }
            m_slaveStats = new CharacterCharacteristicsInformations();
            m_slaveStats.Deserialize(reader);
            int shortcutsCount = reader.ReadUShort();
            int shortcutsIndex;

            m_shortcuts = new System.Collections.Generic.List <Shortcut>();
            for (shortcutsIndex = 0; (shortcutsIndex < shortcutsCount); shortcutsIndex = (shortcutsIndex + 1))
            {
                Shortcut objectToAdd = ProtocolTypeManager.GetInstance <Shortcut>((short)reader.ReadUShort());
                objectToAdd.Deserialize(reader);
                m_shortcuts.Add(objectToAdd);
            }
            m_masterId = reader.ReadDouble();
            m_slaveId  = reader.ReadDouble();
        }
示例#3
0
 // Constructors
 public SpellEntry(SpellItem s, Spells spell)
 {
     Id    = s.SpellId;
     Level = (byte)s.SpellLevel;
     Name  = spell.NameId;
     SetMinPlayerLevel(spell);
 }
示例#4
0
        public override void Deserialize(IDataReader reader)
        {
            this.masterId = reader.ReadDouble();
            if (this.masterId < -9.00719925474099E+15 || this.masterId > 9.00719925474099E+15)
            {
                throw new Exception("Forbidden value (" + (object)this.masterId + ") on element of SlaveSwitchContextMessage.masterId.");
            }
            this.slaveId = reader.ReadDouble();
            if (this.slaveId < -9.00719925474099E+15 || this.slaveId > 9.00719925474099E+15)
            {
                throw new Exception("Forbidden value (" + (object)this.slaveId + ") on element of SlaveSwitchContextMessage.slaveId.");
            }
            uint num1 = (uint)reader.ReadUShort();

            for (int index = 0; (long)index < (long)num1; ++index)
            {
                SpellItem spellItem = new SpellItem();
                spellItem.Deserialize(reader);
                this.slaveSpells.Add(spellItem);
            }
            this.slaveStats = new CharacterCharacteristicsInformations();
            this.slaveStats.Deserialize(reader);
            uint num2 = (uint)reader.ReadUShort();

            for (int index = 0; (long)index < (long)num2; ++index)
            {
                Shortcut instance = ProtocolTypeManager.GetInstance <Shortcut>((uint)reader.ReadUShort());
                instance.Deserialize(reader);
                this.shortcuts.Add(instance);
            }
        }
示例#5
0
 public SpellData(SpellItem item)
 {
     Position     = item.position;
     SpellId      = item.spellId;
     SpellLevelId = item.spellLevel;
     miniSpell    = GameDataAdapter.GetClass <SpellLevel>((int)GameDataAdapter.GetClass <Spell>((int)this.SpellId).SpellLevels[(int)this.SpellLevelId - 1]);
 }
        public override void Deserialize(ICustomDataInput reader)
        {
            MasterId = reader.ReadDouble();
            SlaveId  = reader.ReadDouble();
            var countSlaveSpells = reader.ReadShort();

            SlaveSpells = new List <SpellItem>();
            for (short i = 0; i < countSlaveSpells; i++)
            {
                SpellItem type = new SpellItem();
                type.Deserialize(reader);
                SlaveSpells.Add(type);
            }
            SlaveStats = new CharacterCharacteristicsInformations();
            SlaveStats.Deserialize(reader);
            var countShortcuts = reader.ReadShort();

            Shortcuts = new List <Shortcut>();
            for (short i = 0; i < countShortcuts; i++)
            {
                var      shortcutstypeId = reader.ReadShort();
                Shortcut type            = new Shortcut();
                type.Deserialize(reader);
                Shortcuts.Add(type);
            }
        }
示例#7
0
文件: ItemClass.cs 项目: rio900/voins
 public void StopPause()
 {
     if (SpellItem != null)
     {
         SpellItem.StopPause();
     }
 }
示例#8
0
 public ItemSpell(JToken ItemToken)
 {
     if (ItemToken["spellId"] != null)
     {
         SpellID = int.Parse(ItemToken["spellId"].ToString());
     }
     if (ItemToken["spell"] != null)
     {
         Spell_Item = new SpellItem(ItemToken["spell"]);
     }
     if (ItemToken["nCharges"] != null)
     {
         NumberOfCharges = int.Parse(ItemToken["nCharges"].ToString());
     }
     if (ItemToken["consumable"] != null)
     {
         IsConsumable = bool.Parse(ItemToken["consumable"].ToString());
     }
     if (ItemToken["categoryId"] != null)
     {
         CategoryID = int.Parse(ItemToken["categoryId"].ToString());
     }
     if (ItemToken["trigger"] != null)
     {
         Trigger = ItemToken["trigger"].ToString();
     }
 }
        public SpellItem GetSpellItem()
        {
            var item = new SpellItem(63, SpellId, SpellLevel);

            item.characterId = CharacterId;
            return(item);
        }
    public void PopulateButton(SpellItem spellOb, SavedItems itemamount)
    {
        spell           = spellOb;
        itemIcon.sprite = spell.itemIcon;
        //buttonBase.color = spell.itemBackgroundColor;

        amountText.text = amount.ToString();
        spellName       = spell.itemName;

        if (spell.itemName == "SlowTime")
        {
            amount = itemamount.timeAmount;
        }
        else if (spell.itemName == "DestroyOrbs")
        {
            amount = itemamount.destroyAmount;
        }

        UpdateAmount(amount);

        foreach (ParticleSystem ps in bottleParticles)
        {
            var   main = ps.main;
            Color temp = spell.itemBackgroundColor;
            main.startColor = temp;
        }
    }
示例#11
0
    public void SetData(SpellItem spell)
    {
        spellName         = spell.name;
        spellImage.sprite = spell.image;

        cooldown = spell.cooldown / 1000;
    }
示例#12
0
    public void EndGame(bool win, User winner)
    {
        Text textName;

        endCanvas.SetActive(true);
        if (win)
        {
            textName = endCanvas.transform.Find("Panel/PlayerNameText").GetComponent <Text>();
            endCanvas.transform.Find("Panel/WinText").gameObject.SetActive(true);
        }
        else
        {
            textName = endCanvas.transform.Find("Panel/PlayerNameText").GetComponent <Text>();
            endCanvas.transform.Find("Panel/LoseText").gameObject.SetActive(true);
        }

        User user = syncController.GetUser();

        textName.text = user.name;

        winnerNameText.text = winner != null ? winner.name : "BOT";

        endSpellsListCanvas = endCanvas.transform.Find("Panel/SpellsCanvas/SpellsList");
        foreach (UserSpell us in user.spells)
        {
            GameObject spell = Instantiate(endSpellIconPrefab) as GameObject;
            spell.transform.SetParent(endSpellsListCanvas);
            SpellItem sItem = spellsController.GetSpellItem(us.name);
            spell.transform.Find("SpellName").GetComponent <Text>().text    = sItem.showName;
            spell.transform.Find("SpellIcon").GetComponent <Image>().sprite = sItem.image;
            spell.transform.Find("SpellUses").GetComponent <Text>().text    = us.uses.ToString();
        }
    }
示例#13
0
        public override void Deserialize(IDataReader reader)
        {
            MasterId = reader.ReadDouble();
            SlaveId  = reader.ReadDouble();
            var slaveSpellsCount = reader.ReadUShort();

            SlaveSpells = new List <SpellItem>();
            for (var slaveSpellsIndex = 0; slaveSpellsIndex < slaveSpellsCount; slaveSpellsIndex++)
            {
                var objectToAdd = new SpellItem();
                objectToAdd.Deserialize(reader);
                SlaveSpells.Add(objectToAdd);
            }
            SlaveStats = new CharacterCharacteristicsInformations();
            SlaveStats.Deserialize(reader);
            var shortcutsCount = reader.ReadUShort();

            Shortcuts = new List <Shortcut>();
            for (var shortcutsIndex = 0; shortcutsIndex < shortcutsCount; shortcutsIndex++)
            {
                var objectToAdd = ProtocolTypeManager.GetInstance <Shortcut>(reader.ReadUShort());
                objectToAdd.Deserialize(reader);
                Shortcuts.Add(objectToAdd);
            }
        }
示例#14
0
        private void InterruptCast(PlayerCharacter plr, SpellItem spell)
        {
            if (plr == null || spell == null)
            {
                return;
            }

            for (int i = 0; i <= 2; i++)
            {
                var caster = plr.GetMagicCaster((EquippedSpellSlots)i);
                if (caster == null)
                {
                    continue;
                }

                var item = caster.CastItem;
                if (item == null || !item.Equals(spell))
                {
                    continue;
                }

                plr.InterruptCast();
                return;
            }
        }
示例#15
0
文件: ItemClass.cs 项目: rio900/voins
 public void Pause()
 {
     if (SpellItem != null)
     {
         SpellItem.Pause();
     }
 }
        public static void UpdateSpellLevel(SpellItem spell)
        {
            var spellRecord = CharactersSpells.FindAll(x => x.CharacterId == spell.characterId).Find(x => x.SpellId == spell.spellId);

            spellRecord.SpellLevel = spell.spellLevel;
            spellRecord.UpdateElement();
        }
示例#17
0
    public void SetSpellData(string spellName, JSONObject data)
    {
        if (!data.HasField("name"))
        {
            return;
        }

        SpellItem spell = spells.Find(x => x.name == spellName);

        if (spell == null)
        {
            Debug.LogError("Spell " + spellName + " not founded!");
            return;
        }

        spell.showName    = data["name"].str;
        spell.description = data["description"].str;
        spell.type        = data["type"].str;
        spell.cooldown    = data["cooldown"].n;
        if (data.HasField("knockbackMultiplier"))
        {
            spell.knockbackMultiplier = data["knockbackMultiplier"].n;
        }
        if (data.HasField("knockbackIncrement"))
        {
            spell.knockbackIncrement = data["knockbackIncrement"].n;
        }
    }
 public void Deserialize(IDataReader reader)
 {
     SpellPrevisualization = reader.ReadBoolean();
     Spells = new SpellItem[reader.ReadShort()];
     for (var i = 0; i < Spells.Length; i++)
     {
         (Spells[i] = new SpellItem()).Deserialize(reader);
     }
 }
示例#19
0
 public Spell(SpellItem spell)
 {
     if (spell == null)
     {
         throw new ArgumentNullException("spell");
     }
     Template = DataProvider.Instance.Get <Protocol.Data.Spell>(spell.spellId);
     Level    = spell.spellLevel;
     Position = spell.position;
 }
示例#20
0
        public void BoostSpell(ushort spellid, sbyte level)
        {
            SpellItem actualSpell = GetSpell(spellid);
            sbyte     cost        = GetBoostCost(actualSpell.spellLevel, level);

            Record.SpellPoints    -= (ushort)cost;
            actualSpell.spellLevel = level;
            CharacterSpellRecord.UpdateSpellLevel(actualSpell);
            Client.Send(new SpellUpgradeSuccessMessage(spellid, level));
            RefreshStats();
        }
示例#21
0
    public List <SpellItem> GetSpellsSelected()
    {
        List <SpellItem> spellSel = new List <SpellItem>();

        foreach (string name in spellsSelected)
        {
            SpellItem s = spellsController.spells.Find(x => name == x.name);
            spellSel.Add(s);
        }
        return(spellSel);
    }
示例#22
0
 public override void Serialize(IDataWriter writer)
 {
     writer.WriteBoolean(m_spellPrevisualization);
     writer.WriteShort(((short)(m_spells.Count)));
     int spellsIndex;
     for (spellsIndex = 0; (spellsIndex < m_spells.Count); spellsIndex = (spellsIndex + 1))
     {
         SpellItem objectToSend = m_spells[spellsIndex];
         objectToSend.Serialize(writer);
     }
 }
示例#23
0
 private static void SetSpellDetails(string spellName, SpellItem spellItem, int spellLevel, int index)
 {
     if (PF_GameData.Spells.ContainsKey(spellName))
     {
         var eachSpellDetail = PF_GameData.Spells[spellName];
         spellItem.LoadSpell(spellName, eachSpellDetail, spellLevel);
     }
     else
     {
         Debug.Log("something went wrong, could not find spell " + index);
     }
 }
示例#24
0
        public override void Deserialize(IDataReader reader)
        {
            spellPrevisualization = reader.ReadBoolean();
            var limit = reader.ReadUShort();

            spells = new SpellItem[limit];
            for (int i = 0; i < limit; i++)
            {
                spells[i] = new SpellItem();
                spells[i].Deserialize(reader);
            }
        }
示例#25
0
        public override void Deserialize(IDataReader reader)
        {
            this.spellPrevisualization = reader.ReadBoolean();
            uint num = (uint)reader.ReadUShort();

            for (int index = 0; (long)index < (long)num; ++index)
            {
                SpellItem spellItem = new SpellItem();
                spellItem.Deserialize(reader);
                this.spells.Add(spellItem);
            }
        }
示例#26
0
        public override void Deserialize(IDataReader reader)
        {
            SpellPrevisualization = reader.ReadBoolean();
            var spellsCount = reader.ReadUShort();

            Spells = new List <SpellItem>();
            for (var spellsIndex = 0; spellsIndex < spellsCount; spellsIndex++)
            {
                var objectToAdd = new SpellItem();
                objectToAdd.Deserialize(reader);
                Spells.Add(objectToAdd);
            }
        }
示例#27
0
        public override void Deserialize(ICustomDataInput reader)
        {
            SpellPrevisualization = reader.ReadBoolean();
            var countSpells = reader.ReadShort();

            Spells = new List <SpellItem>();
            for (short i = 0; i < countSpells; i++)
            {
                SpellItem type = new SpellItem();
                type.Deserialize(reader);
                Spells.Add(type);
            }
        }
示例#28
0
 public override void Deserialize(IDataReader reader)
 {
     m_spellPrevisualization = reader.ReadBoolean();
     int spellsCount = reader.ReadUShort();
     int spellsIndex;
     m_spells = new System.Collections.Generic.List<SpellItem>();
     for (spellsIndex = 0; (spellsIndex < spellsCount); spellsIndex = (spellsIndex + 1))
     {
         SpellItem objectToAdd = new SpellItem();
         objectToAdd.Deserialize(reader);
         m_spells.Add(objectToAdd);
     }
 }
    private static void DisplaySpell(string spellName, int spellLevel, SpellItem spellItem, int index)
    {
        UB_SpellDetail spellDetail;

        if (PF_GameData.Spells.TryGetValue(spellName, out spellDetail))
        {
            spellItem.LoadSpell(spellName, spellDetail, spellLevel);
        }
        else
        {
            Debug.Log("something went wrong, could not find spell " + index);
        }
    }
示例#30
0
 public void Deserialize(IDataReader reader)
 {
     MasterId    = reader.ReadDouble();
     SlaveId     = reader.ReadDouble();
     SlaveSpells = new SpellItem[reader.ReadShort()];
     for (var i = 0; i < SlaveSpells.Length; i++)
     {
         (SlaveSpells[i] = new SpellItem()).Deserialize(reader);
     }
     SlaveStats = new CharacterCharacteristicsInformations();
     SlaveStats.Deserialize(reader);
     Shortcuts = new Shortcut[reader.ReadShort()];
     for (var i = 0; i < Shortcuts.Length; i++)
     {
         (Shortcuts[i] = new Shortcut()).Deserialize(reader);
     }
 }