public void Execute(Entity[] entities)
 {
     var accelerate = entities.SingleEntity().isAccelerating;
     foreach (var e in _group.GetEntities()) {
         var move = e.move;
         var speed = accelerate ? move.maxSpeed : 0;
         e.ReplaceMove(speed, move.maxSpeed);
     }
 }
Example #2
0
    public void Execute(Entity[] entities)
    {
        Debug.Log("Update GameBoard");

        var gameBoard = entities.SingleEntity().gameBoard;
        foreach (var e in _gameBoardElements.GetEntities()) {
            if (e.position.x >= gameBoard.columns || e.position.y >= gameBoard.rows) {
                e.isDestroy = true;
            }
        }
    }
    public void Execute(Entity[] entities)
    {
        UnityEngine.Debug.Log("Process Input");

        var inputEntity = entities.SingleEntity();
        var input = inputEntity.input;
        var e = _pool.gameBoardCache.grid[input.x, input.y];
        if (e != null && e.isInteractive) {
            e.isDestroy = true;
        }

        _pool.DestroyEntity(inputEntity);
    }
    public void Execute(Entity[] entities)
    {
        UnityEngine.Debug.Log("Process Input");

        var inputEntity = entities.SingleEntity();
        var input = inputEntity.input;
        var e = _pool.gameBoardCache.grid[input.x, input.y];
        if (e != null && e.isInteractive) {
            e.isDestroy = true;
            // only send positions for destroyed entities by us
            if (!inputEntity.isIncoming) {
                e.isSendable = true;
            }
        }

        _pool.DestroyEntity(inputEntity);
    }