//private functions-------------------------------------- private void InitRank() { for (int i = 1; i <= m_ArenaRank.MaxRank; i++) { ArenaRobotConfig robot = ArenaConfigProvider.Instance.RobotConfig.GetDataById(i); if (robot != null) { int max_partner_count = GetMaxPartnerCount(robot.Level); ArenaInfo arena_info = new ArenaInfo(LobbyServer.Instance.GlobalDataProcessThread.GenerateUserGuid(), robot, max_partner_count); m_ArenaRank.SetRankEntity(i, arena_info); //LogSys.Log(LOG_TYPE.DEBUG, "ArenaSetRobot: rank={0} Guid={1} NickName={2}", i, arena_info.GetId(), arena_info.NickName); } } }
internal void Test() { int i = -1; List <MatchGroup> match_groups = QueryMatchArena(i, 3); LogSys.Log(LOG_TYPE.DEBUG, "query rank {0} match result:", i); foreach (MatchGroup group in match_groups) { LogSys.Log(LOG_TYPE.DEBUG, "one: {0} two: {1} three: {2}", group.One.GetId(), group.Two.GetId(), group.Three.GetId()); } ArenaRobotConfig robot = ArenaConfigProvider.Instance.RobotConfig.GetDataById(11); ArenaInfo arena_info = new ArenaInfo(LobbyServer.Instance.GlobalDataProcessThread.GenerateUserGuid(), robot, GetMaxPartnerCount(robot.Level)); ArenaInfo arena_info2 = new ArenaInfo(LobbyServer.Instance.GlobalDataProcessThread.GenerateUserGuid(), robot, GetMaxPartnerCount(robot.Level)); m_ArenaRank.AddUnRankEntity(arena_info); m_ArenaRank.AddUnRankEntity(arena_info2); PrintAllRank(); PrintUnRankedEntities(); }
internal ArenaInfo(ulong guid, ArenaRobotConfig robot_info, int max_partner_count) { m_Guid = guid; m_Rank = ArenaSystem.UNKNOWN_RANK; m_HeroId = robot_info.HeroId; m_NickName = robot_info.NickName; m_Level = robot_info.Level; m_FightScore = robot_info.FightScore; foreach (ArenaItemInfo arena_item in robot_info.EquipInfo) { ItemInfo item = new ItemInfo(arena_item.ItemId, arena_item.Level); item.AppendProperty = arena_item.AppendProperty; m_EquipInfo.Add(item); } foreach (ArenaXSoulInfo xsoul in robot_info.XSoulInfo) { m_XSoulInfo.Add(xsoul); } foreach (ArenaPartnerInfo partner in robot_info.PartnerInfo) { PartnerConfig config = PartnerConfigProvider.Instance.GetDataById(partner.id); if (config == null) { continue; } PartnerInfo target = new PartnerInfo(config); target.CurAdditionLevel = partner.AdditionLevel; target.CurSkillStage = partner.SkillStage; m_PartnerInfo.Add(target); if (m_PartnerInfo.Count == max_partner_count) { m_ActivePartner = target; break; } } foreach (ArenaSkillInfo e in robot_info.SkillInfo) { SkillDataInfo skilldata = new SkillDataInfo(e.Id, e.Level); skilldata.Postions.Presets[0] = (SlotPosition)e.EquipPos; m_SkillDataInfo.Add(skilldata); } m_IsRobot = true; }