当前位置: 首页>>代码示例>>C#>>正文


C# Deck.CheckIfArenaDeck方法代码示例

本文整理汇总了C#中Hearthstone_Deck_Tracker.Hearthstone.Deck.CheckIfArenaDeck方法的典型用法代码示例。如果您正苦于以下问题:C# Deck.CheckIfArenaDeck方法的具体用法?C# Deck.CheckIfArenaDeck怎么用?C# Deck.CheckIfArenaDeck使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Hearthstone_Deck_Tracker.Hearthstone.Deck的用法示例。


在下文中一共展示了Deck.CheckIfArenaDeck方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CreatArenaRunAsync

		public static async Task<PostResult> CreatArenaRunAsync(Deck deck)
		{
			if(deck == null)
			{
				Logger.WriteLine("deck is null", "HearthStatsAPI");
				return PostResult.Failed;
			}
			if(deck.IsArenaDeck == false)
			{
				Logger.WriteLine("deck is not a viable arena deck", "HearthStatsAPI");
				return PostResult.Failed;
			}
			if(deck.HasHearthStatsArenaId)
			{
				Logger.WriteLine("arena deck already posted", "HearthStatsAPI");
				return PostResult.Failed;
			}
			if(deck.HasVersions)
			{
				Logger.WriteLine("arena deck cannot have versions", "HearthStatsAPI");
				return PostResult.Failed;
			}
			if(deck.HasHearthStatsId)
			{
				if(deck.CheckIfArenaDeck() == false)
				{
					Logger.WriteLine("deck has non-arena games", "HearthStatsAPI");
					return PostResult.Failed;
				}
				if(deck.DeckStats.Games.Count <= 1)
				{
					Logger.WriteLine("deck has hearthstats id but no arena id. deleting and uploading as arena deck.", "HearthStatsAPI");
					await DeleteDeckAsync(deck);
					deck.HearthStatsId = "";
					deck.HearthStatsDeckVersionId = "";
				}
				else
				{
					Logger.WriteLine("deck already has games but no arena id. cannot upload deck.", "HearthStatsAPI");
					return PostResult.Failed;
				}
			}
			Logger.WriteLine("creating new arena run: " + deck, "HearthStatsAPI");

			var url = BaseUrl + "/arena_runs/new?auth_token=" + _authToken;
			var cards = deck.Cards.Where(Database.IsActualCard).Select(x => new CardObject(x));
			var data = JsonConvert.SerializeObject(new {@class = deck.Class, cards});
			try
			{
				var response = await PostAsync(url, data);
				dynamic json = JsonConvert.DeserializeObject(response);
				if(json.status.ToString() == "200")
				{
					deck.HearthStatsArenaId = json.data.id;
					Logger.WriteLine("assigned arena id to deck: " + deck.HearthStatsArenaId, "HearthStatsAPI");
					return PostResult.WasSuccess;
				}
				return PostResult.Failed;
			}
			catch(Exception e)
			{
				Logger.WriteLine(e.ToString(), "HearthStatsAPI");
				return PostResult.Failed;
			}
		}
开发者ID:nakaneku,项目名称:Hearthstone-Deck-Tracker,代码行数:65,代码来源:HearthStatsAPI.cs


注:本文中的Hearthstone_Deck_Tracker.Hearthstone.Deck.CheckIfArenaDeck方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。