Пример #1
0
        public StructGameState ParseGameState(ref int i)
        {
            var game_st = new StructGameState();

            i++;
            var state_name = Get(i).Text;

            game_st.Name = state_name;

            i++;

            if (Get(i).Token == Token.Init)
            {
                game_st.Init = true;
                i++;
            }

            for (; i < toks.Len; i++)
            {
                var t = Get(i);

                if (t.Text == "begin")
                {
                    i++;
                    game_st.InitS      = new StructStateSub();
                    game_st.InitS.Code = ParseCodeBody(ref i);
                }
                if (t.Text == "update")
                {
                    i++;
                    game_st.UpdateS      = new StructStateSub();
                    game_st.UpdateS.Code = ParseCodeBody(ref i);
                }

                if (t.Text == "draw")
                {
                    i++;
                    game_st.DrawS      = new StructStateSub();
                    game_st.DrawS.Code = ParseCodeBody(ref i);
                    return(game_st);
                }

                if (t.Token == Token.End)
                {
                    return(game_st);
                }
            }

            //var code = ParseCodeBody(ref i);

            //game_st.Code= code;


            return(game_st);
        }
Пример #2
0
 public SynGameState(StructGameState state)
 {
     State = state;
 }