Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
 public static bool IsPastBeginPhase(TAG_STEP step)
 {
     object[] objArray1 = new object[] { step };
     return(MonoClass.smethod_14 <bool>(TritonHs.MainAssemblyPath, "", "GameUtils", "IsPastBeginPhase", objArray1));
 }