private string GetGameEntityText(Game game) { string result = ""; ReadOnlyEntity game_entity; if (!game.TryGetGameEntity(out game_entity)) { return(""); } if (game_entity.HasTag(GameTag.STEP)) { TAG_STEP step = (TAG_STEP)game_entity.GetTag(GameTag.STEP); result += "[TAG] STEP = " + step.ToString() + Environment.NewLine; } result += Environment.NewLine; result += "All tags: " + Environment.NewLine; foreach (var tag in game_entity.Tags) { result += "[TAG] " + tag.Key.ToString() + " -> " + tag.Value.ToString() + Environment.NewLine; } return(result); }
static public GameStage GetGameStage(Game game) { ReadOnlyEntity game_entity; if (!game.TryGetGameEntity(out game_entity)) { return(GameStage.STAGE_UNKNOWN); } ReadOnlyEntity player_entity; if (!game.TryGetPlayerEntity(out player_entity)) { return(GameStage.STAGE_UNKNOWN); } ReadOnlyEntity opponent_entity; if (!game.TryGetOpponentEntity(out opponent_entity)) { return(GameStage.STAGE_UNKNOWN); } if (player_entity.GetTagOrDefault(GameTag.MULLIGAN_STATE, (int)TAG_MULLIGAN.INVALID) == (int)TAG_MULLIGAN.INPUT) { return(GameStage.STAGE_PLAYER_MULLIGAN); } if (opponent_entity.GetTagOrDefault(GameTag.MULLIGAN_STATE, (int)TAG_MULLIGAN.INVALID) == (int)TAG_MULLIGAN.INPUT) { return(GameStage.STAGE_OPPONENT_MULLIGAN); } if (!game_entity.HasTag(GameTag.STEP)) { return(GameStage.STAGE_UNKNOWN); } TAG_STEP game_entity_step = (TAG_STEP)game_entity.GetTag(GameTag.STEP); if (game_entity_step != TAG_STEP.MAIN_ACTION) { return(GameStage.STAGE_GAME_FLOW); } if (player_entity.GetTagOrDefault(GameTag.CURRENT_PLAYER, 0) == 1) { return(GameStage.STAGE_PLAYER_CHOICE); } if (opponent_entity.GetTagOrDefault(GameTag.CURRENT_PLAYER, 0) == 1) { return(GameStage.STAGE_OPPONENT_CHOICE); } return(GameStage.STAGE_UNKNOWN); }
public static bool IsPastBeginPhase(TAG_STEP step) { object[] objArray1 = new object[] { step }; return(MonoClass.smethod_14 <bool>(TritonHs.MainAssemblyPath, "", "GameUtils", "IsPastBeginPhase", objArray1)); }