本文整理汇总了C#中db.Database.GetCharData方法的典型用法代码示例。如果您正苦于以下问题:C# Database.GetCharData方法的具体用法?C# Database.GetCharData怎么用?C# Database.GetCharData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类db.Database
的用法示例。
在下文中一共展示了Database.GetCharData方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetChars
public Chars GetChars(string guid, string password, XmlData data)
{
using (var db = new Database())
{
Account a = db.Verify(guid, password, data);
if (a != null)
{
if (a.Banned)
return null;
}
Chars chrs = new Chars
{
Characters = new List<Char>(),
NextCharId = 2,
MaxNumChars = 1,
Account = a,
};
db.GetCharData(chrs.Account, chrs);
db.LoadCharacters(chrs.Account, chrs);
chrs.News = db.GetNews(Program.GameData, chrs.Account);
chrs.OwnedSkins = Utils.GetCommaSepString(chrs.Account.OwnedSkins.ToArray());
return chrs;
}
}
示例2: HandleRequest
public void HandleRequest(HttpListenerContext context)
{
NameValueCollection query;
using (var rdr = new StreamReader(context.Request.InputStream))
query = HttpUtility.ParseQueryString(rdr.ReadToEnd());
using (var db = new Database())
{
List<ServerItem> filteredServers = null;
Account a = db.Verify(query["guid"], query["password"]);
if (a != null)
{
if (a.Banned)
{
filteredServers = YoureBanned();
}
else
{
filteredServers = GetServersForRank(a.Rank);
}
}
else
{
filteredServers = GetServersForRank(0);
}
var chrs = new Chars
{
Characters = new List<Char>(),
NextCharId = 2,
MaxNumChars = 1,
Account = db.Verify(query["guid"], query["password"]),
Servers = filteredServers
};
Account dvh = null;
if (chrs.Account != null)
{
db.GetCharData(chrs.Account, chrs);
db.LoadCharacters(chrs.Account, chrs);
chrs.News = db.GetNews(chrs.Account);
dvh = chrs.Account;
}
else
{
chrs.Account = Database.CreateGuestAccount(query["guid"]);
chrs.News = db.GetNews(null);
}
var ms = new MemoryStream();
var serializer = new XmlSerializer(chrs.GetType(),
new XmlRootAttribute(chrs.GetType().Name) {Namespace = ""});
var xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
xws.Encoding = Encoding.UTF8;
XmlWriter xtw = XmlWriter.Create(context.Response.OutputStream, xws);
serializer.Serialize(xtw, chrs, chrs.Namespaces);
db.Dispose();
}
}
示例3: HandleRequest
public void HandleRequest(HttpListenerContext context)
{
NameValueCollection query;
using (StreamReader rdr = new StreamReader(context.Request.InputStream))
query = HttpUtility.ParseQueryString(rdr.ReadToEnd());
using (var db1 = new Database())
{
chrs = new Chars()
{
Characters = new List<Char>() { },
NextCharId = 2,
MaxNumChars = 1,
Account = db1.Verify(query["guid"], query["password"]),
Servers = new List<ServerItem>()
{
new ServerItem()
{
Name = "EUSouth",
Lat = 22.28,
Long = 114.16,
DNS = db.confreader.getservers(false).ToString(), //127.0.0.1, CHANGE THIS TO LET YOUR FRIENDS CONNECT
Usage = 0.2,
AdminOnly = false
}
//new ServerItem()
//{
// Name = "Admin Realm",
// Lat = 22.28,
// Long = 114.16,
// DNS = "127.0.0.1",
// Usage = 0.2,
// AdminOnly = true
//}
}
};
if (chrs.Account != null)
{
db1.GetCharData(chrs.Account, chrs);
db1.LoadCharacters(chrs.Account, chrs);
chrs.News = db1.GetNews(chrs.Account);
}
else
{
chrs.Account = Database.CreateGuestAccount(query["guid"]);
chrs.News = db1.GetNews(null);
}
MemoryStream ms = new MemoryStream();
XmlSerializer serializer = new XmlSerializer(chrs.GetType(), new XmlRootAttribute(chrs.GetType().Name) { Namespace = "" });
XmlWriterSettings xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
xws.Encoding = Encoding.UTF8;
XmlWriter xtw = XmlWriter.Create(context.Response.OutputStream, xws);
serializer.Serialize(xtw, chrs, chrs.Namespaces);
}
}
示例4: HandleRequest
protected override void HandleRequest()
{
using (Database db = new Database())
{
Account a = db.Verify(Query["guid"], Query["password"], Program.GameData);
if (!CheckAccount(a, db)) return;
db.LockAccount(a);
Chars chrs = new Chars
{
Characters = new List<Char>(),
NextCharId = 2,
MaxNumChars = 1,
Account = a,
Servers = GetServerList()
};
if (chrs.Account != null)
{
db.GetCharData(chrs.Account, chrs);
db.LoadCharacters(chrs.Account, chrs);
chrs.News = db.GetNews(Program.GameData, chrs.Account);
chrs.OwnedSkins = Utils.GetCommaSepString(chrs.Account.OwnedSkins.ToArray());
db.UnlockAccount(chrs.Account);
}
else
{
chrs.Account = Database.CreateGuestAccount(Query["guid"] ?? "");
chrs.News = db.GetNews(Program.GameData, null);
}
MapPoint p = null; //GetLatLong(Context.Request.RemoteEndPoint.Address);
if (p != null)
{
chrs.Lat = p.Latitude.ToString().Replace(',', '.');
chrs.Long = p.Longitude.ToString().Replace(',', '.');
}
chrs.ClassAvailabilityList = GetClassAvailability(chrs.Account);
chrs.TOSPopup = chrs.Account.NotAcceptedNewTos;
chrs.ClassAvailabilityList = GetClassAvailability(chrs.Account);
XmlSerializer serializer = new XmlSerializer(chrs.GetType(),
new XmlRootAttribute(chrs.GetType().Name) { Namespace = "" });
XmlWriterSettings xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
xws.Encoding = Encoding.UTF8;
xws.Indent = true;
xws.IndentChars = " ";
XmlWriter xtw = XmlWriter.Create(Context.Response.OutputStream, xws);
serializer.Serialize(xtw, chrs, chrs.Namespaces);
}
}
示例5: HandleRequest
protected override void HandleRequest()
{
using (var db = new Database())
{
List<ServerItem> servers;
if (Account == null)
servers = GetServersForRank(0);
else
servers = Account.Banned ? YoureBanned() : GetServersForRank(Account.Rank);
var chrs = new Chars
{
Characters = new List<Char>(),
NextCharId = 2,
MaxNumChars = 1,
Account = Account,
Servers = servers
};
if (chrs.Account != null)
{
db.GetCharData(chrs.Account, chrs);
db.LoadCharacters(chrs.Account, chrs);
chrs.News = db.GetNews(chrs.Account);
}
else
{
chrs.Account = Database.CreateGuestAccount(Query["guid"]);
chrs.News = db.GetNews(null);
}
var serializer = new XmlSerializer(chrs.GetType(),
new XmlRootAttribute(chrs.GetType().Name) { Namespace = "" });
var xws = new XmlWriterSettings
{
OmitXmlDeclaration = true,
Encoding = Encoding.UTF8,
Indent = true,
IndentChars = " "
};
var xtw = XmlWriter.Create(Context.Response.OutputStream, xws);
serializer.Serialize(xtw, chrs, chrs.Namespaces);
}
}
示例6: HandleRequest
public void HandleRequest(HttpListenerContext context)
{
NameValueCollection query;
using (StreamReader rdr = new StreamReader(context.Request.InputStream))
query = HttpUtility.ParseQueryString(rdr.ReadToEnd());
using (var db = new Database(Program.Settings.GetValue("conn")))
{
Chars chrs = new Chars()
{
Characters = new List<Char>() { },
NextCharId = 2,
MaxNumChars = 1,
Account = db.Verify(query["guid"], query["password"]),
Servers = GetServerList()
};
if (chrs.Account != null)
{
db.GetCharData(chrs.Account, chrs);
db.LoadCharacters(chrs.Account, chrs);
chrs.News = db.GetNews(Program.GameData, chrs.Account);
}
else
{
chrs.Account = Database.CreateGuestAccount(query["guid"]);
chrs.News = db.GetNews(Program.GameData, null);
}
MemoryStream ms = new MemoryStream();
XmlSerializer serializer = new XmlSerializer(chrs.GetType(), new XmlRootAttribute(chrs.GetType().Name) { Namespace = "" });
XmlWriterSettings xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
xws.Encoding = Encoding.UTF8;
XmlWriter xtw = XmlWriter.Create(context.Response.OutputStream, xws);
serializer.Serialize(xtw, chrs, chrs.Namespaces);
}
}
示例7: HandleRequest
protected override void HandleRequest()
{
using (var db = new Database())
{
List<ServerItem> filteredServers = null;
Account a = db.Verify(Query["guid"], Query["password"]);
if (a != null)
{
if (a.Banned)
{
filteredServers = YoureBanned();
}
else
{
filteredServers = GetServersForRank(a.Rank);
}
}
else
{
filteredServers = GetServersForRank(0);
}
Chars chrs = new Chars()
{
Characters = new List<Char>() { },
NextCharId = 2,
MaxNumChars = 1,
Account = db.Verify(Query["guid"], Query["password"]),
Servers = filteredServers
};
Account dvh = null;
if (chrs.Account != null)
{
db.GetCharData(chrs.Account, chrs);
db.LoadCharacters(chrs.Account, chrs);
chrs.News = db.GetNews(chrs.Account);
dvh = chrs.Account;
}
else
{
chrs.Account = Database.CreateGuestAccount(Query["guid"]);
chrs.News = db.GetNews(null);
}
MemoryStream ms = new MemoryStream();
XmlSerializer serializer = new XmlSerializer(chrs.GetType(), new XmlRootAttribute(chrs.GetType().Name) { Namespace = "" });
XmlWriterSettings xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
xws.Encoding = Encoding.UTF8;
XmlWriter xtw = XmlWriter.Create(Context.Response.OutputStream, xws);
serializer.Serialize(xtw, chrs, chrs.Namespaces);
}
}
示例8: HandleRequest
protected override void HandleRequest()
{
using (Database db = new Database())
{
Account a;
if (Query["guid"].Contains("@") && !String.IsNullOrWhiteSpace(Query["password"]))
{
a = db.Verify(Query["guid"], Query["password"], Program.GameData);
if (a == null)
{
using (StreamWriter wtr = new StreamWriter(Context.Response.OutputStream))
wtr.WriteLine("<Error>Account credentials not valid</Error>");
Context.Response.Close();
return;
}
}
else
{
a = db.GetAccountByName(Query["guid"], Program.GameData);
if (a != null)
{
if (!a.VisibleMuledump)
{
using (StreamWriter wtr = new StreamWriter(Context.Response.OutputStream))
wtr.WriteLine("<Error>This player has a private muledump.</Error>");
Context.Response.Close();
return;
}
}
else
{
using (StreamWriter wtr = new StreamWriter(Context.Response.OutputStream))
wtr.WriteLine("<Error>User not found</Error>");
Context.Response.Close();
return;
}
}
if (a.Banned)
{
using (StreamWriter wtr = new StreamWriter(Context.Response.OutputStream))
wtr.WriteLine("<Error>Account under maintenance</Error>");
Context.Response.Close();
return;
}
Chars chrs = new Chars
{
Characters = new List<Char>(),
NextCharId = 2,
MaxNumChars = 1,
Account = a
};
if (chrs.Account != null)
{
db.GetCharData(chrs.Account, chrs);
db.LoadCharacters(chrs.Account, chrs);
chrs.News = db.GetNews(Program.GameData, chrs.Account);
chrs.OwnedSkins = Utils.GetCommaSepString(chrs.Account.OwnedSkins.ToArray());
}
else
{
using (StreamWriter wtr = new StreamWriter(Context.Response.OutputStream))
wtr.WriteLine("<Error>User not found</Error>");
Context.Response.Close();
return;
}
XmlSerializer serializer = new XmlSerializer(chrs.GetType(),
new XmlRootAttribute(chrs.GetType().Name) { Namespace = "" });
XmlWriterSettings xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
xws.Encoding = Encoding.UTF8;
xws.Indent = true;
xws.IndentChars = " ";
XmlWriter xtw = XmlWriter.Create(Context.Response.OutputStream, xws);
serializer.Serialize(xtw, chrs, chrs.Namespaces);
}
}
示例9: HandleRequest
public override void HandleRequest(HttpListenerContext context)
{
NameValueCollection query;
using (var rdr = new StreamReader(context.Request.InputStream))
query = HttpUtility.ParseQueryString(rdr.ReadToEnd());
if (query.AllKeys.Length == 0)
{
string queryString = string.Empty;
string currUrl = context.Request.RawUrl;
int iqs = currUrl.IndexOf('?');
if (iqs >= 0)
{
query =
HttpUtility.ParseQueryString((iqs < currUrl.Length - 1)
? currUrl.Substring(iqs + 1)
: String.Empty);
}
}
using (var db = new Database(Program.Settings.GetValue("conn")))
{
bool isGuest = db.Verify(query["guid"], query["password"]) == null ? true : false;
Account acc = db.Verify(query["guid"], query["password"]);
var chrs = new Chars
{
Characters = new List<Char>(),
NextCharId = 2,
MaxNumChars = 1,
Account = db.Verify(query["guid"], query["password"]),
Servers = isGuest ? NoServerList() : GetServerList(acc.Admin)
};
if (chrs.Account != null)
{
if (!chrs.Account.isBanned)
{
db.GetCharData(chrs.Account, chrs);
db.LoadCharacters(chrs.Account, chrs);
chrs.News = db.GetNews(Program.GameData, chrs.Account);
}
}
else
{
chrs.Account = Database.CreateGuestAccount(query["guid"]);
chrs.News = db.GetNews(Program.GameData, null);
}
chrs.ClassAvailabilityList = GetClassAvailability(chrs.Account);
var ms = new MemoryStream();
var serializer = new XmlSerializer(chrs.GetType(),
new XmlRootAttribute(chrs.GetType().Name) {Namespace = ""});
var xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
xws.Encoding = Encoding.UTF8;
XmlWriter xtw = XmlWriter.Create(context.Response.OutputStream, xws);
serializer.Serialize(xtw, chrs, chrs.Namespaces);
}
}