Exemplo n.º 1
0
    /*
     * Used for items starting off outside inventory
     * Presets their identity to item with index in database
     */
    void Start()
    {
        _inventory = GameObject.FindGameObjectWithTag("Inventory");
        Tool newTool = _inventory.GetComponent <InventoryLogic>().ReturnToolDb().ToolDatabase[indexInDb];

        _identifer = GetComponent <Identifer>();

        _identifer.SetIdentity(newTool);
    }
Exemplo n.º 2
0
        /// <summary>
        /// 自定义验证规则
        /// </summary>
        /// <param name="validationContext"></param>
        /// <returns></returns>
        public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            if (Type == LoginType.Account)
            {
                if (Identifer.IsNullOrWhiteSpace())
                {
                    yield return(new ValidationResult(
                                     "登录名不能为空!",
                                     new[] { "LoginName" }
                                     ));
                }

                if (Credential.IsNullOrWhiteSpace())
                {
                    yield return(new ValidationResult(
                                     "密码不能为空!",
                                     new[] { "Password" }
                                     ));
                }
            }
            else
            {
                if (Identifer.IsNullOrWhiteSpace())
                {
                    yield return(new ValidationResult(
                                     "手机号不能为空!",
                                     new[] { "Phone" }
                                     ));
                }

                if (Credential.IsNullOrWhiteSpace())
                {
                    yield return(new ValidationResult(
                                     "验证码不能为空!",
                                     new[] { "Captcha" }
                                     ));
                }
            }
        }
Exemplo n.º 3
0
        public Token GetToken()
        {
            while (lastChar == ' ' || lastChar == '\t' || lastChar == '\r')
            {
                GetChar();
            }

            TokenMarker = sourceMarker;

            if (char.IsLetter(lastChar))
            {
                Identifer = lastChar.ToString();
                while (char.IsLetterOrDigit(GetChar()))
                {
                    Identifer += lastChar;
                }
                switch (Identifer.ToUpper())
                {
                case "PRINT": return(Token.Print);

                case "IF": return(Token.If);

                case "ENDIF": return(Token.EndIf);

                case "THEN": return(Token.Then);

                case "ELSE": return(Token.Else);

                case "FOR": return(Token.For);

                case "TO": return(Token.To);

                case "NEXT": return(Token.Next);

                case "GOTO": return(Token.Goto);

                case "INPUT": return(Token.Input);

                case "LET": return(Token.Let);

                case "GOSUB": return(Token.Gosub);

                case "RETURN": return(Token.Return);

                case "END": return(Token.End);

                case "OR": return(Token.Or);

                case "AND": return(Token.And);

                case "NOT": return(Token.Not);

                case "REM":
                    while (lastChar != '\n')
                    {
                        GetChar();
                    }
                    GetChar();
                    return(GetToken());

                default:
                    return(Token.Identifer);
                }
            }

            if (char.IsDigit(lastChar))
            {
                string num = "";
                do
                {
                    num += lastChar;
                } while (char.IsDigit(GetChar()) || lastChar == '.');

                double real;
                if (!double.TryParse(num, System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture, out real))
                {
                    throw new Exception("ERROR while parsing number");
                }
                Value = new Value(real);
                return(Token.Value);
            }

            Token tok = Token.Unkown;

            switch (lastChar)
            {
            case '\n': tok = Token.NewLine; break;

            case ':': tok = Token.Colon; break;

            case ';': tok = Token.Semicolon; break;

            case ',': tok = Token.Comma; break;

            case '=': tok = Token.Equal; break;

            case '+': tok = Token.Plus; break;

            case '-': tok = Token.Minus; break;

            case '/': tok = Token.Slash; break;

            case '*': tok = Token.Asterisk; break;

            case '^': tok = Token.Caret; break;

            case '(': tok = Token.LParen; break;

            case ')': tok = Token.RParen; break;

            case '\'':
                while (lastChar != '\n')
                {
                    GetChar();
                }
                GetChar();
                return(GetToken());

            case '<':
                GetChar();
                if (lastChar == '>')
                {
                    tok = Token.NotEqual;
                }
                else if (lastChar == '=')
                {
                    tok = Token.LessEqual;
                }
                else
                {
                    return(Token.Less);
                }
                break;

            case '>':
                GetChar();
                if (lastChar == '=')
                {
                    tok = Token.MoreEqual;
                }
                else
                {
                    return(Token.More);
                }
                break;

            case '"':
                string str = "";
                while (GetChar() != '"')
                {
                    if (lastChar == '\\')
                    {
                        switch (char.ToLower(GetChar()))
                        {
                        case 'n': str += '\n'; break;

                        case 't': str += '\t'; break;

                        case '\\': str += '\\'; break;

                        case '"': str += '"'; break;
                        }
                    }
                    else
                    {
                        str += lastChar;
                    }
                }
                Value = new Value(str);
                tok   = Token.Value;
                break;

            case (char)0:
                return(Token.EOF);
            }

            GetChar();
            return(tok);
        }