Example #1
0
        void ColumnsAndValues(string expected1, string expected2, Expression <Func <User, object> > expr)
        {
            var sql = Faller.Create(expr).ToColumnsAndValues(OracleSaw.Instance);

            Assert.AreEqual(expected1, sql.Key);
            Assert.AreEqual(expected2, sql.Value);
        }
Example #2
0
        void Where2(string expected, Expression <Func <User, bool> > expr)
        {
            var parse = Faller.Create(expr);
            var sql   = parse.ToWhere(SqlServerSaw.Instance);

            //parse.Parameters  //解析过程中得到的参数
            Assert.AreEqual(expected, sql);
        }
Example #3
0
    public void OnTriggerEnter2D(Collider2D collider)
    {
        Faller faller = collider.gameObject.GetComponent <Faller>();

        if (faller != null && faller.gameObject.tag != "Blockee")
        {
            GlobalFlags.SetFlag(flag, true);
        }
    }
Example #4
0
        private static void OrderBy <T>(Expression <Func <T, object> > expr, bool asc)
        {
            //Console.WriteLine("Expr   : " + expr.Body.ToString());
            Console.WriteLine("ASC    : " + asc);
            var parse = Faller.Create(expr);
            var sql   = parse.ToOrderBy(OracleSaw.Instance, asc);

            Console.WriteLine("Parsed : " + sql);
            Console.WriteLine(new string('.', Console.BufferWidth - 1));
        }
Example #5
0
 private void TryShift(Vector2Int direction)
 {
     if (_state == State.Fallen)
     {
         return;
     }
     if (CheckFallerDirection(direction))
     {
         Faller.Shift(direction);
     }
 }
Example #6
0
    public Stack CreateStack()
    {
        Stack   stack   = Instantiate(stackPrefab.gameObject).GetComponent <Stack> ();
        Flipper flipper = Instantiate(this.flipper.gameObject).GetComponent <Flipper> ();
        Faller  faller  = Instantiate(this.faller.gameObject).GetComponent <Faller> ();

        stack.flipper           = flipper;
        stack.faller            = faller;
        flipper.targetTransform = stack.transform;
        faller.targetTransform  = stack.transform;
        return(stack);
    }
Example #7
0
 private void TryRotate(bool clockwise)
 {
     if (_state == State.Fallen)
     {
         return;
     }
     Faller.Rotate(clockwise);
     if (!CheckFallerLocation())
     {
         // Reverts rotation
         Faller.Rotate(!clockwise);
     }
 }
    void OnTriggerEnter2D(Collider2D otherCollider)
    {
        GameObject collidedObject = otherCollider.gameObject;

        if (collidedObject.tag == "flannel")
        {
            Faller collidedFaller = collidedObject.GetComponent <Faller>();

            collidedFaller.Bump(
                collidedObject.transform.position.x < transform.position.x
                );
        }
    }
Example #9
0
        private static void ColumnsAndValues <T>(Expression <Func <T, object> > expr)
        {
            //Console.WriteLine("Expr   : " + expr.Body.ToString());
            var parse = Faller.Create(expr);
            var sqls  = parse.ToColumnsAndValues(OracleSaw.Instance);

            Console.WriteLine("Columns : " + sqls.Key);
            Console.WriteLine("Values : " + sqls.Value);
            Console.WriteLine();
            foreach (var p in parse.Parameters)
            {
                Console.WriteLine("参数 {0} : {1}", p.ParameterName, p.Value);
            }
            Console.WriteLine(new string('.', Console.BufferWidth - 1));
        }
Example #10
0
        public static List <User> GetUsers(Expression <Func <User, bool> > where)
        {
            var parse = Faller.Create(where);
            var sql   = parse.ToWhere(new MySaw());

            using (var conn = new SqlConnection("Data Source=.;Initial Catalog=Test;Integrated Security=True"))
                using (var cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select * from test where " + sql;
                    cmd.Parameters.AddRange(parse.Parameters.ToArray());
                    conn.Open();
                    using (var reader = cmd.ExecuteReader())
                    {
                        return(Convert2.ToList <User>(reader));
                    }
                }
        }
    void OnTriggerEnter2D(Collider2D otherCollider)
    {
        GameObject collidedObject = otherCollider.gameObject;

        if (
            collidedObject.tag == "flannel" || collidedObject.tag == "powerup"
            )
        {
            Faller collidedFaller = collidedObject.GetComponent <Faller>();

            if (!collidedFaller.isBumped)
            {
                collidedFaller.OnCatch();
                collidedFaller.FadeAndDestroy();
            }
        }
    }
Example #12
0
 /// <summary> 初始化解析结果
 /// </summary>
 /// <param name="faller">解析组件</param>
 /// <param name="type">结果类型</param>
 /// <param name="value">结果值</param>
 internal SawDust(Faller faller, DustType type, Object value)
     : this()
 {
     if (type == DustType.Object && value is SawDust)
     {
         var dust = (SawDust)value;
         Value = dust.Value;
         Type  = dust.Type;
     }
     else
     {
         Type  = type;
         Value = value;
     }
     Faller   = faller;
     _toSqled = false;
     _sql     = null;
 }
Example #13
0
        private static void Where <T1, T2>(Expression <Func <T1, T2, bool> > expr)
        {
            //Console.WriteLine("Expr   : " + expr.Body.ToString());
            //Console.WriteLine();
            var parse = Faller.Create(expr);
            var sql   = parse.ToWhere(OracleSaw.Instance);

            Console.WriteLine("Parsed : " + sql);
            if (parse.Parameters.Count > 0)
            {
                Console.WriteLine();
                foreach (var p in parse.Parameters)
                {
                    Console.WriteLine("参数 {0} : {1}", p.ParameterName, p.Value);
                }
            }
            Console.WriteLine(new string('.', Console.BufferWidth - 1));
        }
Example #14
0
        private IEnumerator GameRoutine()
        {
            _settledBlocks.Clear();
            yield return(null);

            while (true)
            {
                SwitchToNextFaller();
                RoundStart?.Invoke();
                _state = State.Default;
                while (true)
                {
                    var fallInterval = _state == State.Drop ? GameRules.DropFallInterval : GameRules.FallInterval;
                    yield return(new WaitForSeconds(fallInterval));

                    if (CheckFallerDirection(Vector2Int.down))
                    {
                        Faller.Shift(Vector2Int.down);
                    }
                    else
                    {
                        break;
                    }
                }

                _state = State.Fallen;
                foreach (var block in Faller.Blocks)
                {
                    _settledBlocks[block.Location] = block;
                }

                var delay = PerformLineOperations() ? AnimationTimings.ExplodeDelay : AnimationTimings.SettleDelay;

                if (IsGameOver())
                {
                    break;
                }

                yield return(new WaitForSeconds(delay));
            }

            GameOver?.Invoke();
        }
Example #15
0
    void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.layer != LayerMask.NameToLayer("Characters"))
        {
            //fail
            Faller collisionFaller = collision.gameObject.GetComponent <Faller>();

            if (collisionFaller == null)  //collision is not faller
            {
                Bullet b = collision.gameObject.GetComponent <Bullet>();
                if (b != null)  //collide with bullet
                {
                    b.Break();
                }
                //collisionFaller.DoSpecialEffect(this);
                Break();
            }
        }
    }
Example #16
0
    void spawnEnemy()
    {
        GameObject go = Instantiate(Instance);

        int type = Random.Range(0, (int)EnemyTypes.EnemyCount);

        switch ((EnemyTypes)type)
        {
        case EnemyTypes.EnemyFaller:
            Faller fall = go.AddComponent <Faller>();
            break;

        case EnemyTypes.EnemyFollower:
            Follower follow = go.AddComponent <Follower>();
            break;

        case EnemyTypes.EnemySideways:
            Sideways side = go.AddComponent <Sideways>();
            break;
        }

        MeshFilter mf = go.GetComponent <MeshFilter>();

        mf.mesh = Instantiate(meshList[type]);

        Bounds b = mf.mesh.bounds;

        BoxCollider bc = go.GetComponent <BoxCollider>();

        bc.size   = b.size;
        bc.center = b.center;

        var audioSource = go.GetComponent <AudioSource>();

        audioSource.clip = EnemyAmbienceAudioClips[type];
        audioSource.Play();

        go.GetComponent <Enemy>().DeathAudioClip = EnemyDeathAudioClips[type];
        go.GetComponent <Enemy>().ExplosionFlash = ExplosionFlash;

        enemies.Add(go);
    }
Example #17
0
    void OnCollisionEnter2D(Collision2D collision)
    {
        Bullet b = collision.gameObject.GetComponent <Bullet>();
        Heart  h = collision.gameObject.GetComponent <Heart>();
        Faller f = collision.gameObject.GetComponent <Faller>();

        if (b != null)
        {
            //meets bullet, both break
            b.Break();
            Break();
        }
        if (h != null)
        {
            //meets heart, do effect
            DoSpecialEffect(h);
        }
        if (f != null)
        {
            //meets other faller, break
            Break();
        }
    }
Example #18
0
    void Awake()
    {
        GameController.OnGameStarted += HandleGameControllerOnGameStarted;
        GameController.OnGameEnded += HandleGameControllerOnGameEnded;

        if (networkView.isMine) {
            character = GetComponent<Faller>();

            camera = Camera.mainCamera;

            if (cameraTargetRef != null) {
                TrackingCamera trackingCamera = camera.GetComponent<TrackingCamera>();
                if (trackingCamera != null)
                    trackingCamera.SetPlayer(this);
            }
        }
    }
Example #19
0
 private static IFaller Create(LambdaExpression expr)
 {
     //Console.WriteLine("Expr   : " + expr.Body.ToString());
     // Console.WriteLine();
     return(Faller.Create(expr));
 }
Example #20
0
        void OrderBy(string expected, Expression <Func <User, object> > expr, bool asc)
        {
            var sql = Faller.Create(expr).ToOrderBy(OracleSaw.Instance, asc);

            Assert.AreEqual(expected, sql);
        }
Example #21
0
        void Set(string expected, Expression <Func <User> > expr)
        {
            var sql = Faller.Create(expr).ToSets(OracleSaw.Instance);

            Assert.AreEqual(expected, sql);
        }
Example #22
0
        void Values(string expected, Expression <Func <User, object> > expr)
        {
            var sql = Faller.Create(expr).ToValues(OracleSaw.Instance);

            Assert.AreEqual(expected, sql);
        }