public void SendSetSkillMessage(int loction, uint skillid, SkillSettingAction action, uint srcIndex = 0, uint srcSkill = 0) { GameCmd.stSetUsePosSkillUserCmd_CS cmd = new stSetUsePosSkillUserCmd_CS(); if (action == SkillSettingAction.Add || action == SkillSettingAction.Replace) { cmd.index = (uint)loction; cmd.skillid = skillid; cmd.status = (uint)ShowState; } else if (action == SkillSettingAction.Remove) { cmd.src_index = (uint)srcIndex; cmd.src_skillid = srcSkill; cmd.status = (uint)ShowState; } else if (action == SkillSettingAction.Swap || action == SkillSettingAction.Move) { cmd.index = (uint)loction; cmd.skillid = skillid; cmd.status = (uint)ShowState; cmd.src_index = srcIndex; cmd.src_skillid = srcSkill; } NetService.Instance.Send(cmd); }
/// <summary> /// 升级后自动设置技能 /// </summary> void AutoSetSkill() { IPlayer mainPlayer = ClientGlobal.Instance().MainPlayer; int job = mainPlayer.GetProp((int)PlayerProp.Job); int level = mainPlayer.GetProp((int)CreatureProp.Level); List <SkillDatabase> list = GetRoleSkillList(); SkillDatabase db = list.Find((x) => { return(x.dwNeedLevel == level && x.wdLevel == 1); }); if (db != null) { int loc = GameTableManager.Instance.GetGlobalConfig <int>("UnlockSkillLocation", level.ToString()); if (loc != 0) { GameCmd.stSetUsePosSkillUserCmd_CS cmd = new stSetUsePosSkillUserCmd_CS(); cmd.index = (uint)loc; cmd.skillid = db.wdID; cmd.status = (uint)1; NetService.Instance.Send(cmd); } } }
public void OnSetLocation(stSetUsePosSkillUserCmd_CS cmd) { if (cmd.ret == (uint)SkillRet.SkillRet_Success) { //Log.Info("技能设置成功 error code is " + cmd.ret); stSetSkillPos sp = new stSetSkillPos(); sp.pos = cmd.index; sp.skillid = cmd.skillid; uint level = GetUnLockLevelByLoc((uint)cmd.index); if (MainPlayerHelper.GetPlayerLevel() > level) { DataManager.Manager <UIPanelManager>().SendMsg(PanelID.MainPanel, UIMsgID.eSkillBtnRefresh, null); } else { EventEngine.Instance().DispatchEvent((int)GameEventID.SKILLSYSTEM_SETSKILLPOS, sp); } } else { SetAllSettingItem(); Log.Error("技能设置错误 error code is " + cmd.ret); } }
public void OnArenaSetSkillLocation(stSetUsePosSkillUserCmd_CS cmd) { DataManager.Manager <LearnSkillDataManager>().OnSetLocation(cmd); }