本文整理汇总了C#中Inventory.GetPlayerStats方法的典型用法代码示例。如果您正苦于以下问题:C# Inventory.GetPlayerStats方法的具体用法?C# Inventory.GetPlayerStats怎么用?C# Inventory.GetPlayerStats使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Inventory
的用法示例。
在下文中一共展示了Inventory.GetPlayerStats方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetCurrentInfo
public StatsExport GetCurrentInfo(Inventory inventory)
{
var stats = inventory.GetPlayerStats().Result;
StatsExport output = null;
var stat = stats.FirstOrDefault();
if (stat != null)
{
var ep = stat.NextLevelXp - stat.PrevLevelXp - (stat.Experience - stat.PrevLevelXp);
var time = Math.Round(ep/(TotalExperience/GetRuntime()), 2);
var hours = 0.00;
var minutes = 0.00;
if (double.IsInfinity(time) == false && time > 0)
{
time = Convert.ToDouble(TimeSpan.FromHours(time).ToString("h\\.mm"), CultureInfo.InvariantCulture);
hours = Math.Truncate(time);
minutes = Math.Round((time - hours)*100);
}
output = new StatsExport
{
Level = stat.Level,
HoursUntilLvl = hours,
MinutesUntilLevel = minutes,
CurrentXp = stat.Experience - stat.PrevLevelXp - GetXpDiff(stat.Level),
LevelupXp = stat.NextLevelXp - stat.PrevLevelXp - GetXpDiff(stat.Level),
};
}
return output;
}
示例2: GetCurrentInfo
public StatsExport GetCurrentInfo(Inventory inventory)
{
var stats = inventory.GetPlayerStats().Result;
StatsExport output = null;
var stat = stats.FirstOrDefault();
if (stat != null)
{
var ep = stat.NextLevelXp - stat.PrevLevelXp - (stat.Experience - stat.PrevLevelXp);
var time = Math.Round(ep/(TotalExperience/GetRuntime()), 2);
var hours = 0.00;
var minutes = 0.00;
if (double.IsInfinity(time) == false && time > 0)
{
hours = Math.Truncate(TimeSpan.FromHours(time).TotalHours);
minutes = TimeSpan.FromHours(time).Minutes;
}
if( LevelForRewards == -1 || stat.Level >= LevelForRewards )
{
LevelUpRewardsResponse Result = Execute( inventory ).Result;
if( Result.ToString().ToLower().Contains( "awarded_already" ) )
LevelForRewards = stat.Level + 1;
if( Result.ToString().ToLower().Contains( "success" ) )
{
Logger.Write( "Leveled up: " + stat.Level, LogLevel.Info );
RepeatedField<ItemAward> items = Result.ItemsAwarded;
if( items.Any<ItemAward>() )
{
Logger.Write( "- Received Items -", LogLevel.Info );
foreach( ItemAward item in items )
{
Logger.Write( $"[ITEM] {item.ItemId} x {item.ItemCount} ", LogLevel.Info );
}
}
}
}
var Result2 = Execute(inventory).Result;
LevelForRewards = stat.Level;
if (Result2.ToString().ToLower().Contains("success"))
{
string[] tokens = Result2.Result.ToString().Split(new[] { "itemId" }, StringSplitOptions.None);
Logging.Logger.Write("Items Awarded:" + Result2.ItemsAwarded.ToString());
}
output = new StatsExport
{
Level = stat.Level,
HoursUntilLvl = hours,
MinutesUntilLevel = minutes,
CurrentXp = stat.Experience - stat.PrevLevelXp - GetXpDiff(stat.Level),
LevelupXp = stat.NextLevelXp - stat.PrevLevelXp - GetXpDiff(stat.Level)
};
}
return output;
}
示例3: _getcurrentLevelInfos
public static async Task<string> _getcurrentLevelInfos(Inventory inventory)
{
var stats = await inventory.GetPlayerStats();
var output = string.Empty;
var stat = stats.FirstOrDefault();
if (stat != null)
{
var ep = (stat.NextLevelXp - stat.PrevLevelXp) - (stat.Experience - stat.PrevLevelXp);
var hours = Math.Round(ep/(TotalExperience / _getSessionRuntime()), 2);
output = $"{stat.Level} (LvLUp in {hours}hours | {stat.Experience - stat.PrevLevelXp - GetXpDiff(stat.Level)}/{stat.NextLevelXp - stat.PrevLevelXp - GetXpDiff(stat.Level)} XP)";
//output = $"{stat.Level} (LvLUp in {_hours}hours // EXP required: {_ep})";
}
return output;
}
示例4: GetCurrentInfo
public string GetCurrentInfo(Inventory inventory)
{
var stats = inventory.GetPlayerStats().Result;
var output = string.Empty;
var stat = stats.FirstOrDefault();
if (stat != null)
{
var ep = stat.NextLevelXp - stat.PrevLevelXp - (stat.Experience - stat.PrevLevelXp);
var time = Math.Round(ep/(TotalExperience/GetRuntime()), 2);
var hours = 0.00;
var minutes = 0.00;
if (double.IsInfinity(time) == false && time > 0)
{
time = Convert.ToDouble(TimeSpan.FromHours(time).ToString("h\\.mm"), CultureInfo.InvariantCulture);
hours = Math.Truncate(time);
minutes = Math.Round((time - hours)*100);
}
output =
$"{stat.Level} (next level in {hours}h {minutes}m | {stat.Experience - stat.PrevLevelXp - GetXpDiff(stat.Level)}/{stat.NextLevelXp - stat.PrevLevelXp - GetXpDiff(stat.Level)} XP)";
}
return output;
}
示例5: _getcurrentLevelInfos
public static async Task<string> _getcurrentLevelInfos(Inventory inventory)
{
var stats = await inventory.GetPlayerStats();
var output = string.Empty;
var stat = stats.FirstOrDefault();
if (stat != null)
{
var ep = (stat.NextLevelXp - stat.PrevLevelXp) - (stat.Experience - stat.PrevLevelXp);
var time = Math.Round(ep / (TotalExperience / _getSessionRuntime()), 2);
var hours = 0.00;
var minutes = 0.00;
if (Double.IsInfinity(time) == false && time > 0)
{
time = Convert.ToDouble(TimeSpan.FromHours(time).ToString("h\\.mm"), CultureInfo.InvariantCulture);
hours = Math.Truncate(time);
minutes = Math.Round((time - hours) * 100);
}
output = $"{stat.Level} (LvLUp in {hours}h {minutes}m | {stat.Experience - stat.PrevLevelXp - GetXpDiff(stat.Level)}/{stat.NextLevelXp - stat.PrevLevelXp - GetXpDiff(stat.Level)} XP)";
//output = $"{stat.Level} (LvLUp in {_hours}hours // EXP required: {_ep})";
}
return output;
}
示例6: UpdateConsoleTitle
public async void UpdateConsoleTitle(Client client, Inventory _inventory)
{
//appears to give incorrect info?
var pokes = await _inventory.GetPokemons();
TotalPokesInBag = pokes.Count();
var inventory = await Inventory.GetCachedInventory(client);
TotalPokesInPokedex = inventory.InventoryDelta.InventoryItems.Select(i => i.InventoryItemData?.PokedexEntry).Where(x => x != null && x.TimesCaptured >= 1).OrderBy(k => k.PokedexEntryNumber).ToArray().Length;
CurrentLevelInfos = await _getcurrentLevelInfos(_inventory);
var stats = await _inventory.GetPlayerStats();
var stat = stats.FirstOrDefault();
if (stat != null) KmWalkedCurrent = stat.KmWalked-KmWalkedOnStart;
Console.Title = ToString();
}