public static int CompareSkill(int s1, int s2) { SkillConfig.Skill c1 = ConfigDatabase.DefaultCfg.SkillConfig.GetSkillById(s1); SkillConfig.Skill c2 = ConfigDatabase.DefaultCfg.SkillConfig.GetSkillById(s2); return(CompareSkill(c1, c2)); }
/// <summary> /// 1、 品质越低越靠上 /// 2、 同品质,优先级越低越靠上 /// 3、 同品质同书籍时,根据书籍等级排序,等级越低越靠上 /// 4、 同品质同书籍同等级时,随机排序。 /// </summary> //public static int CompareSkillReverse(WeihuaGames.ClientClass.Skill s1, WeihuaGames.ClientClass.Skill s2) //{ // int lineuped1 = PlayerDataUtility.IsLineUpInPosition(SysLocalDataBase.Inst.LocalPlayer, s1) ? 1 : 0; // int lineuped2 = PlayerDataUtility.IsLineUpInPosition(SysLocalDataBase.Inst.LocalPlayer, s2) ? 1 : 0; // if (lineuped1 != lineuped2) // return lineuped1 - lineuped2; // SkillConfig.Skill s1Cfg = ConfigDatabase.DefaultCfg.SkillConfig.GetSkillById(s1.ResourceId); // SkillConfig.Skill s2Cfg = ConfigDatabase.DefaultCfg.SkillConfig.GetSkillById(s2.ResourceId); // if (s1Cfg.qualityLevel != s2Cfg.qualityLevel) // return s1Cfg.qualityLevel - s2Cfg.qualityLevel; // else if (s1Cfg.sortIndex != s2Cfg.sortIndex) // return s1Cfg.sortIndex - s2Cfg.sortIndex; // else if (s1.LevelAttrib.Level != s2.LevelAttrib.Level) // return s1.LevelAttrib.Level - s2.LevelAttrib.Level; // return 0; //} /// <summary> /// 1、 是否缘分 /// 2、 已被装备的靠上 /// 3、 品质越高越靠上 /// 4、 同品质,优先级越高越靠上 /// 5、 同品质同书籍时,根据书籍等级排序,等级越高越靠上 /// 6、 同品质同书籍同等级时,随机排序。 /// </summary> //public static int CompareSkillForLineUp(WeihuaGames.ClientClass.Skill s1, WeihuaGames.ClientClass.Skill s2) //{ // int assemble1 = s1.IsAssembleActive ? 1 : 0; // int assemble2 = s2.IsAssembleActive ? 1 : 0; // if (assemble1 != assemble2) // return assemble2 - assemble1; // int lineuped1 = PlayerDataUtility.IsLineUpInPosition(SysLocalDataBase.Inst.LocalPlayer, s1) ? 1 : 0; // int lineuped2 = PlayerDataUtility.IsLineUpInPosition(SysLocalDataBase.Inst.LocalPlayer, s2) ? 1 : 0; // if (lineuped1 != lineuped2) // return lineuped2 - lineuped1; // var s1Cfg = ConfigDatabase.DefaultCfg.SkillConfig.GetSkillById(s1.ResourceId); // var s2Cfg = ConfigDatabase.DefaultCfg.SkillConfig.GetSkillById(s2.ResourceId); // if (s1Cfg.qualityLevel != s2Cfg.qualityLevel) // return s2Cfg.qualityLevel - s1Cfg.qualityLevel; // else if (s1Cfg.sortIndex != s2Cfg.sortIndex) // return s2Cfg.sortIndex - s1Cfg.sortIndex; // else if (s1.LevelAttrib.Level != s2.LevelAttrib.Level) // return s2.LevelAttrib.Level - s1.LevelAttrib.Level; // return 0; //} //public static int CompareDanForLineUp(WeihuaGames.ClientClass.Dan d1, WeihuaGames.ClientClass.Dan d2) //{ // int lineuped1 = PlayerDataUtility.IsLineUpInPosition(SysLocalDataBase.Inst.LocalPlayer, d1) ? 1 : 0; // int lineuped2 = PlayerDataUtility.IsLineUpInPosition(SysLocalDataBase.Inst.LocalPlayer, d2) ? 1 : 0; // if (lineuped1 != lineuped2) // return lineuped2 - lineuped1; // if (d1.BreakthoughtLevel != d2.BreakthoughtLevel) // return d2.BreakthoughtLevel - d1.BreakthoughtLevel; // if (d1.LevelAttrib.Level != d2.LevelAttrib.Level) // return d2.LevelAttrib.Level - d1.LevelAttrib.Level; // if (d1.CreateTime != d2.CreateTime) // return (int)(d2.CreateTime - d1.CreateTime); // return 0; //} //public static int CompareDanReverse(WeihuaGames.ClientClass.Dan d1, WeihuaGames.ClientClass.Dan d2) //{ // int lineuped1 = PlayerDataUtility.IsLineUpInPosition(SysLocalDataBase.Inst.LocalPlayer, d1) ? 1 : 0; // int lineuped2 = PlayerDataUtility.IsLineUpInPosition(SysLocalDataBase.Inst.LocalPlayer, d2) ? 1 : 0; // if (lineuped1 != lineuped2) // return lineuped2 - lineuped1; // if (d1.BreakthoughtLevel != d2.BreakthoughtLevel) // return d1.BreakthoughtLevel - d2.BreakthoughtLevel; // if (d1.LevelAttrib.Level != d2.LevelAttrib.Level) // return d1.LevelAttrib.Level - d2.LevelAttrib.Level; // if (d1.CreateTime != d2.CreateTime) // return (int)(d1.CreateTime - d2.CreateTime); // return 0; //} public static int CompareSkill(SkillConfig.Skill s1, SkillConfig.Skill s2) { return(s2.sortIndex - s1.sortIndex); }