//读取机器人配置 void ReadQualifyingRobot() { string text = ResourceLoadManager.Instance.GetConfigText(name2); if (text == null) { Debug.LogError("LoadConfig failed: " + name2); return; } RobotPlayerData.Clear(); XmlDocument xmlDoc = CommonFunction.LoadXmlConfig(GlobalConst.DIR_XML_QUALIFYING_ROBOT, text); XmlNodeList nodelist = xmlDoc.SelectSingleNode("Data").ChildNodes; foreach (XmlElement xe in nodelist) { uint min, max; if (CommonFunction.IsCommented(xe)) continue; RobotTeam data = new RobotTeam(); string ranking = xe.SelectSingleNode("ranking").InnerText; if (ranking.IndexOf(",") == -1) { min = uint.Parse(ranking); max = uint.Parse(ranking); } else { string[] temp = ranking.Split(','); min = uint.Parse(temp[0]); max = uint.Parse(temp[1]); } data.rank_min = min; data.rank_max = max; data.AI_id = uint.Parse(xe.SelectSingleNode("AI").InnerText); data.level = uint.Parse(xe.SelectSingleNode("level").InnerText); string modify = xe.SelectSingleNode("modify").InnerText; string[] sep = modify.Split('&'); if (sep.Length == 2) { data.basic = uint.Parse(sep[0]); data.hedging = float.Parse(sep[1]); } else { data.basic = 0; data.hedging = 1; } for (int i = 0; i < 3; i++) { string star = "star" + (i + 1); //string aptitude = "aptitude" + (i + 1); RobotPlayer player = new RobotPlayer(); player.star = uint.Parse(xe.SelectSingleNode(star).InnerText); //player.aptitude = uint.Parse(xe.SelectSingleNode(aptitude).InnerText); data.robotTeam.Add(player); } RobotPlayerData.Add(data); } }
static int GetRobotPlayerAttr(IntPtr L) { LuaScriptMgr.CheckArgsCount(L, 2); QualifyingConfig obj = (QualifyingConfig)LuaScriptMgr.GetNetObjectSelf(L, 1, "QualifyingConfig"); uint arg0 = (uint)LuaScriptMgr.GetNumber(L, 2); RobotTeam o = obj.GetRobotPlayerAttr(arg0); LuaScriptMgr.PushObject(L, o); return(1); }
public AttrData GetQualifyingNPCAttrData(uint id, uint level) { uint position = (uint)GameSystem.Instance.RoleBaseConfigData2.GetPosition(id); AttrData attr = new AttrData(); AttrData npcattr = TourNpcs.Find(x => x.position == position && x.level == level).attrs; RobotTeam qualifyingData = GameSystem.Instance.qualifyingConfig.GetRobotPlayerAttr(level); uint basic = qualifyingData.basic; float hedging = qualifyingData.hedging; attr.attrs["shoot_near"] = npcattr.attrs["shoot_near"] + basic; attr.attrs["shoot_middle"] = npcattr.attrs["shoot_middle"] + basic; attr.attrs["shoot_far"] = npcattr.attrs["shoot_far"] + basic; attr.attrs["dunk_near"] = npcattr.attrs["dunk_near"] + basic; attr.attrs["dunk_middle"] = npcattr.attrs["dunk_middle"] + basic; attr.attrs["layup_near"] = npcattr.attrs["layup_near"] + basic; attr.attrs["layup_middle"] = npcattr.attrs["layup_middle"] + basic; attr.attrs["anti_disturb"] = (uint)(npcattr.attrs["anti_disturb"] * hedging); attr.attrs["pass"] = npcattr.attrs["pass"] + basic; attr.attrs["control"] = (uint)(npcattr.attrs["control"] * hedging);; attr.attrs["block"] = (uint)(npcattr.attrs["block"] * hedging); attr.attrs["anti_block"] = (uint)(npcattr.attrs["anti_block"] * hedging); attr.attrs["steal"] = (uint)(npcattr.attrs["steal"] * hedging); attr.attrs["disturb"] = (uint)(npcattr.attrs["disturb"] * hedging); attr.attrs["rebound"] = (uint)(npcattr.attrs["rebound"] * hedging); attr.attrs["speed"] = npcattr.attrs["speed"] + basic; attr.attrs["strength"] = (uint)(npcattr.attrs["strength"] * hedging); attr.attrs["interception"] = (uint)(npcattr.attrs["interception"] * hedging); attr.attrs["ph"] = npcattr.attrs["ph"] + basic; attr.attrs["rebound_height"] = npcattr.attrs["rebound_height"]; attr.attrs["cross_speed"] = npcattr.attrs["cross_speed"]; attr.attrs["shoot_far_dist"] = npcattr.attrs["shoot_far_dist"]; attr.attrs["bodythrowcatch_distance"] = npcattr.attrs["bodythrowcatch_distance"]; attr.attrs["bodythrowcatch_prob"] = npcattr.attrs["bodythrowcatch_prob"]; Debug.Log("shoot_near:" + attr.attrs["shoot_near"]); Debug.Log("shoot_middle:" + attr.attrs["shoot_middle"]); Debug.Log("anti_disturb:" + attr.attrs["anti_disturb"]); Debug.Log("steal:" + attr.attrs["steal"]); Debug.Log("rebound:" + attr.attrs["rebound"]); Debug.Log("disturb:" + attr.attrs["disturb"]); Debug.Log("strength:" + attr.attrs["strength"]); //return TourNpcs.Find(x => x.position == NPCDatas[NPCID].position && x.level == MainPlayer.Instance.Level).attrs; return(attr); }