本文整理汇总了C#中Terraria.Player.IsAuthenticated方法的典型用法代码示例。如果您正苦于以下问题:C# Player.IsAuthenticated方法的具体用法?C# Player.IsAuthenticated怎么用?C# Player.IsAuthenticated使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Terraria.Player
的用法示例。
在下文中一共展示了Player.IsAuthenticated方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SavePlayerData
public static bool SavePlayerData(IDbConnection ctx, IDbTransaction txn, bool save, Player player)
#endif
{
if (!player.IsAuthenticated()) return false;
//If using a flat based system ensure the MODE is stored
string authName = null;
if (Mode == CharacterMode.AUTH)
{
var auth = player.GetAuthenticatedAs();
if (!String.IsNullOrEmpty(auth))
authName = auth;
}
else if (Mode == CharacterMode.UUID)
{
if (!String.IsNullOrEmpty(player.ClientUUId))
authName = player.ClientUUId + '@' + player.name;
}
if (!String.IsNullOrEmpty(authName))
{
if (Storage.IsAvailable)
{
var auth = player.GetAuthenticatedAs();
#if ENTITY_FRAMEWORK_6
int userId = 0;
if (Mode == CharacterMode.AUTH)
{
var user = AuthenticatedUsers.GetUser(auth);
if (user == null)
{
OTA.Logging.ProgramLog.Error.Log("No user found ");
return false;
}
userId = user.Id;
}
else if (Mode != CharacterMode.UUID)
return false;
//Sync the character
var character = ctx.GetCharacter(Mode, userId, player.ClientUUId);
if (null == character)
{
character = ctx.AddCharacter(userId, player);
}
else character.UpdateCharacter(userId, player);
//Sync items
var items = ctx.Items.Where(x => x.CharacterId == character.Id).ToArray();
if (!SaveCharacterItems(ctx, save, player, character.Id, player.inventory, ItemType.Inventory, items)) return false;
if (!SaveCharacterItems(ctx, save, player, character.Id, player.armor, ItemType.Armor, items)) return false;
if (!SaveCharacterItems(ctx, save, player, character.Id, player.dye, ItemType.Dye, items)) return false;
if (!SaveCharacterItems(ctx, save, player, character.Id, player.miscEquips, ItemType.Equipment, items)) return false;
if (!SaveCharacterItems(ctx, save, player, character.Id, player.miscDyes, ItemType.MiscDyes, items)) return false;
if (!SaveCharacterItem(ctx, save, player, character.Id, ItemType.Trash, player.trashItem, 0, items)) return false;
#elif ENTITY_FRAMEWORK_7
#else
var character = Tables.CharacterTable.GetCharacter(ctx, txn, Mode, auth, player.ClientUUId);
if (character == null)
{
// if (player.ClearPluginData(Key_NewCharacter))
// {
character = Tables.CharacterTable.NewCharacter
(
ctx,
txn,
Mode,
auth,
player.ClientUUId,
player.statLife,
player.statLifeMax,
player.statMana,
player.statManaMax,
player.SpawnX,
player.SpawnY,
player.hair,
player.hairDye,
player.hideVisual,
player.difficulty,
player.hairColor,
player.skinColor,
player.eyeColor,
player.shirtColor,
player.underShirtColor,
player.pantsColor,
player.shoeColor,
player.anglerQuestsFinished
);
// }
// else
// {
// ProgramLog.Error.Log("Failed to save SSC for player: {0}", player.name);
// return false;
// }
//.........这里部分代码省略.........