예제 #1
0
        PushReaction pushReaction()
        {
            match(EngageToken.KW_PUSH);
            string        name = consumeText(EngageToken.ID);
            List <string> args = new List <string>();

            if (LookAhead(EngageToken.LPAREN))
            {
                match(EngageToken.LPAREN);
                if (LookAhead(EngageToken.ID))
                {
                    string arg = consumeText(EngageToken.ID);
                    args.Add(arg);
                    while (LookAhead(EngageToken.COMMA))
                    {
                        match(EngageToken.COMMA);
                        arg = consumeText(EngageToken.ID);
                        args.Add(arg);
                    }
                }

                match(EngageToken.RPAREN);
            }

            PushReaction pr = new PushReaction();

            pr.Name = name;
            pr.Args = args;
            return(pr);
        }
예제 #2
0
        public override int GetHashCode()
        {
            var hashCode = -81208087;

            hashCode = hashCode * -1521134295 + Color.GetHashCode();
            hashCode = hashCode * -1521134295 + PushReaction.GetHashCode();
            hashCode = hashCode * -1521134295 + BlocksMovement.GetHashCode();
            hashCode = hashCode * -1521134295 + Flammable.GetHashCode();
            hashCode = hashCode * -1521134295 + RequiresNoTool.GetHashCode();
            hashCode = hashCode * -1521134295 + Liquid.GetHashCode();
            hashCode = hashCode * -1521134295 + Opaque.GetHashCode();
            hashCode = hashCode * -1521134295 + Replaceable.GetHashCode();
            hashCode = hashCode * -1521134295 + Solid.GetHashCode();
            return(hashCode);
        }