本文整理汇总了C#中WorldServer.player.Player.setLoginDetails方法的典型用法代码示例。如果您正苦于以下问题:C# Player.setLoginDetails方法的具体用法?C# Player.setLoginDetails怎么用?C# Player.setLoginDetails使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WorldServer.player.Player
的用法示例。
在下文中一共展示了Player.setLoginDetails方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: loadPlayer
public ReturnCode loadPlayer(Connection connection)
{
if (connection == null)
return ReturnCode.COULD_NOT_COMPLETE;
LoginDetails loginDetails = connection.getLoginDetails();
if (loginDetails == null || loginDetails.getUsername() == "" || loginDetails.getLongName() == 0)
return ReturnCode.INVALID_PASSWORD;//ReturnCode.INVALID_PASSWORD;
foreach (char c in loginDetails.getUsername().ToCharArray())
{
if (!char.IsLetterOrDigit(c) && !char.IsWhiteSpace(c))
return ReturnCode.INVALID_PASSWORD;
}
Player createdPlayer = new Player(connection);
connection.setPlayer(createdPlayer); //player finally created.
createdPlayer.setLoginDetails(loginDetails);
if (!File.Exists(misc.getServerPath() + @"\accounts\" + loginDetails.getUsername() + ".xml")) {
createdPlayer.setRights(2); //all new users admins atm (change later).
createdPlayer.setLocation(new Location(2323, 3174, 0));
return ReturnCode.LOGIN_OK; //new user.
}
//Yeah reading XML files is a bit homo.
try
{
int temp;
long lTemp;
string username = createdPlayer.getLoginDetails().getUsername().ToLower();
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(misc.getServerPath() + @"\accounts\" + username + ".xml");
XmlNode xmlNode = xmlDocument.SelectSingleNode("/Player/Login/Password");
if (xmlNode == null) return ReturnCode.INVALID_PASSWORD; //no password node.
if (createdPlayer.getLoginDetails().getPassword() != xmlNode.InnerText)
return ReturnCode.INVALID_PASSWORD;
XmlNode loginElement = xmlDocument.SelectSingleNode("/Player/Login");
if(loginElement != null && loginElement.HasChildNodes) {
XmlNodeList childs = loginElement.ChildNodes;
foreach (XmlElement element in childs)
{
switch (element.Name)
{
case "Rights":
if (!int.TryParse(element.InnerText, out temp))
temp = 0;
createdPlayer.setRights(temp);
break;
case "BankPin":
if (element.InnerText == "") continue;
createdPlayer.getBank().setBankPin(element.InnerText);
break;
}
}
}
loginElement = xmlDocument.SelectSingleNode("/Player/Position");
if (loginElement != null && loginElement.HasChildNodes)
{
XmlNodeList childs = loginElement.ChildNodes;
Location location = new Location();
foreach (XmlElement element in childs)
{
switch (element.Name)
{
case "X":
if (!int.TryParse(element.InnerText, out temp)) {
createdPlayer.setLocation(Constants.HOME_SPAWN_LOCATION);
break;
}
location.setX(temp);
break;
case "Y":
if (!int.TryParse(element.InnerText, out temp)) {
createdPlayer.setLocation(Constants.HOME_SPAWN_LOCATION);
break;
}
location.setY(temp);
break;
case "Z":
if (!int.TryParse(element.InnerText, out temp))
temp = 0;
location.setZ(temp);
break;
}
}
createdPlayer.setLocation(location);
if (Location.atDuelArena(createdPlayer.getLocation()))
DuelSession.teleportDuelArenaHome(createdPlayer);
}
xmlNode = xmlDocument.SelectSingleNode("/Player/Settings/RunEnergy");
if (xmlNode == null)
{
temp = 100;
} else {
if (!int.TryParse(xmlNode.InnerText, out temp))
temp = 100;
//.........这里部分代码省略.........