示例#1
0
        public static AddShortCut read(BinaryReader binaryReader)
        {
            AddShortCut newObj = new AddShortCut();

            newObj.shortcut = ShortCutData.read(binaryReader);
            return(newObj);
        }
示例#2
0
        public static ShortCutData read(BinaryReader binaryReader)
        {
            ShortCutData newObj = new ShortCutData();

            newObj.index_    = binaryReader.ReadInt32();
            newObj.objectID_ = binaryReader.ReadUInt32();
            newObj.spellID_  = (SpellID)binaryReader.ReadUInt32();
            return(newObj);
        }
示例#3
0
        public static ShortCutManager read(BinaryReader binaryReader)
        {
            uint            numShortcuts = binaryReader.ReadUInt32();
            ShortCutManager newObj       = new ShortCutManager();

            for (int i = 0; i < numShortcuts; ++i)
            {
                newObj.shortCuts_.Add(ShortCutData.read(binaryReader));
            }
            return(newObj);
        }
示例#4
0
        public void SetShortCut(int index, SHORTCUTITEM type, int id, bool save = true)
        {
            if (index < 0 || index > 7)
            {
                return;
            }
            ShortCutData data = ShortCutDataManager.Instance.datas[index];

            data.id   = id;
            data.type = type;

            ShortcutItem item = shortcuts[index];

            if (null != item)
            {
                item.Refreash();
            }
            if (save)
            {
                OnShortCutChange(index, type, id);
            }
        }
示例#5
0
        //升级主动技能
        public void UpgradeSkill(uint skillID, int type)
        {
            int skillIdx = 0;

            if (type == 1)
            {
                skillIdx = 0;
                ActiveSkillData activeSkillData;
                if (ActiveSkillDict.TryGetValue(skillID, out activeSkillData) == false)
                {
                    activeSkillData         = new ActiveSkillData();
                    activeSkillData.SkillID = skillID;
                    ActiveSkillDict.Add(skillID, activeSkillData);
                    uint [] oldList = activeSkillList;
                    activeSkillList = new uint[activeSkillList.Length + 1];
                    Array.Copy(oldList, activeSkillList, oldList.Length);
                    activeSkillList[oldList.Length] = skillID;

                    HashSet <uint> rushSkillList = KConfigFileManager.GetInstance().GetRushSkillSet();
                    if (!rushSkillList.Contains(skillID))
                    {
                        for (int i = 0; i < ShortCutDataManager.Instance.Count; i++)
                        {
                            ShortCutData data = ShortCutDataManager.Instance.datas[i];
                            if (data.type == SHORTCUTITEM.NONE)
                            {
                                ButtonBarView.GetInstance().SetShortCut(i, SHORTCUTITEM.SKILL, (int)skillID, true);
                                break;
                            }
                        }
                    }
                }
                activeSkillData.Level += 1;
                KActiveSkill skill = KConfigFileManager.GetInstance().GetActiveSkill(activeSkillData.SkillID, activeSkillData.Level);
                activeSkillData.cdTicket.SetCD(skill.SkillCD);
            }
            else
            {
                KPassiveSkill    passiveSkillSetting = KConfigFileManager.GetInstance().GetPassiveSkill(skillID, 1);
                PassiveSkillData passiveSkillData;
                if (passiveSkillSetting.SkillType > 0)
                {
                    if (PassiveSkillDict.TryGetValue(skillID, out passiveSkillData) == false)
                    {
                        passiveSkillData = new PassiveSkillData();
                        PassiveSkillDict.Add(skillID, passiveSkillData);
                    }
                    passiveSkillData.Level += 1;
                    skillIdx = 1;
                }
                else
                {
                    if (TalentSkillDict.TryGetValue(skillID, out passiveSkillData) == false)
                    {
                        passiveSkillData = new PassiveSkillData();
                        TalentSkillDict.Add(skillID, passiveSkillData);
                    }
                    passiveSkillData.Level += 1;
                    skillIdx = 2;
                }
            }
            EventDispatcher.GameWorld.Dispath(ControllerCommand.UPDATE_SKILL, skillIdx, skillID);
        }