Beispiel #1
0
        /// <summary>
        /// 官方api 根据玩家id获取玩家信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public Model.CharacterInfo CharacterInfo(string id)
        {
            string      url = "https://api.eveonline.com/eve/CharacterInfo.xml.aspx?characterID=" + id;
            XmlDocument doc = new XmlDocument();

            doc.Load(url);
            XmlNode xn  = doc.SelectSingleNode("eveapi");
            XmlNode xn2 = xn.SelectSingleNode("result");

            Model.CharacterInfo ci   = new Model.CharacterInfo();
            XmlNodeList         xnl0 = xn2.ChildNodes; //开始收集玩家信息

            if (xnl0.Count > 13)                       //没用联盟有12个元素
            {
                ci.characterID     = xnl0.Item(0).InnerText;
                ci.characterName   = xnl0.Item(1).InnerText;
                ci.race            = xnl0.Item(2).InnerText;
                ci.bloodline       = xnl0.Item(4).InnerText;
                ci.ancestry        = xnl0.Item(6).InnerText;
                ci.corporationID   = xnl0.Item(7).InnerText;
                ci.corporation     = xnl0.Item(8).InnerText;
                ci.corporationDate = xnl0.Item(9).InnerText;
                ci.allianceID      = xnl0.Item(10).InnerText;
                ci.alliance        = xnl0.Item(11).InnerText;
                ci.allianceDate    = xnl0.Item(12).InnerText;
                ci.securityStatus  = xnl0.Item(13).InnerText;
            }
            else
            {
                ci.characterID     = xnl0.Item(0).InnerText;
                ci.characterName   = xnl0.Item(1).InnerText;
                ci.race            = xnl0.Item(2).InnerText;
                ci.bloodline       = xnl0.Item(4).InnerText;
                ci.ancestry        = xnl0.Item(6).InnerText;
                ci.corporationID   = xnl0.Item(7).InnerText;
                ci.corporation     = xnl0.Item(8).InnerText;
                ci.corporationDate = xnl0.Item(9).InnerText;
                ci.securityStatus  = xnl0.Item(10).InnerText;
            }
            XmlNode     xn3  = xn2.SelectSingleNode("rowset");                        //雇佣记录信息收集
            XmlNodeList xnl1 = xn3.ChildNodes;
            List <EVE_Central.Model.corporation> corplist = new List <corporation>(); //雇佣记录泛型

            foreach (XmlNode xn1 in xnl1)
            {
                EVE_Central.Model.corporation bookModel = new corporation();//雇佣记录实体类
                // 将节点转换为元素,便于得到节点的属性值
                XmlElement xe = (XmlElement)xn1;
                // 得到Type和ISBN两个属性的属性值
                bookModel.recordID       = xe.GetAttribute("recordID").ToString();
                bookModel.corporationID  = xe.GetAttribute("corporationID").ToString();
                bookModel.corporationNam = xe.GetAttribute("corporationName").ToString();
                bookModel.startDate      = xe.GetAttribute("startDate").ToString();
                corplist.Add(bookModel);
            }
            ci.employmentHistory = corplist;
            return(ci);
        }
Beispiel #2
0
        /// <summary>
        /// 雇佣记录
        /// </summary>
        /// <param name="s"></param>
        /// <param name="i">默认5 最多展示五条雇佣记录</param>
        /// <returns></returns>
        public string StringMemberHistory(string s, int k = 5)
        {
            Model.CharacterInfo memberinfo = CharacterInfoFromName(s);
            string stringinfo = "人物名称:" + memberinfo.characterName + '\n';

            if (memberinfo.employmentHistory.Count < k)
            {
                k = memberinfo.employmentHistory.Count;
            }

            for (int i = 0; i < k; i++)
            {
                stringinfo += memberinfo.employmentHistory[i].corporationNam + ' ' + memberinfo.employmentHistory[i].startDate + '\n';
            }
            return(stringinfo);
        }
Beispiel #3
0
        /// <summary>
        /// 根据名字返回精简用户信息 [0]返回头像url 【1】信息
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        public string[] StringCharacterInfo(string s)
        {
            Model.CharacterInfo memberinfo = CharacterInfoFromName(s);
            string url        = "https://imageserver.eveonline.com/Character/" + memberinfo.characterID + "_128.jpg";
            string stringinfo = "人物名称:" + memberinfo.characterName + '\n';

            stringinfo += "建号时间:" + memberinfo.employmentHistory[memberinfo.employmentHistory.Count - 1].startDate + '\n';
            stringinfo += "所在公司:" + memberinfo.corporation + '\n';
            stringinfo += "加入时间:" + gethisttime(memberinfo.employmentHistory[0].startDate) + '\n';
            if (memberinfo.alliance == null)
            {
                stringinfo += "所在联盟:Strategic Fooyou Agency\n";
            }
            else
            {
                stringinfo += "所在联盟:" + memberinfo.alliance + '\n';
            }
            stringinfo += "安全等级:" + memberinfo.securityStatus.Substring(0, 4);
            string[] ss = new string[2];
            ss[0] = url;
            ss[1] = stringinfo;
            return(ss);
        }