private async Task SendBuildRequest(Unit worker, int unitType, Point2D point)
        {
            var       requestDebug = new RequestDebug();
            DebugDraw debugDraw    = new DebugDraw();

            debugDraw.Boxes.Add(new DebugBox
            {
                Min = new Point {
                    X = point.X - 1, Y = point.Y - 1, Z = 14
                },                                                             // Z??
                Max = new Point {
                    X = point.X + 1, Y = point.Y + 1, Z = 11
                },
                Color = new Color {
                    R = 180, G = 255, B = 255
                }
            });
            requestDebug.Debug.Add(new DebugCommand {
                Draw = debugDraw
            });
            await _connectionService.SendRequestAsync(new Request { Debug = requestDebug });

            // move there first
            var action2 = new Action();

            action2.ActionRaw                       = new ActionRaw();
            action2.ActionRaw.UnitCommand           = new ActionRawUnitCommand();
            action2.ActionRaw.UnitCommand.AbilityId = 19; // Move abilitiy
            action2.ActionRaw.UnitCommand.UnitTags.Add(worker.Tag);
            action2.ActionRaw.UnitCommand.TargetWorldSpacePos = point;

            var action = new Action();

            action.ActionRaw                       = new ActionRaw();
            action.ActionRaw.UnitCommand           = new ActionRawUnitCommand();
            action.ActionRaw.UnitCommand.AbilityId = _gameDataService.GetAbilityId(unitType);
            action.ActionRaw.UnitCommand.UnitTags.Add(worker.Tag);
            action.ActionRaw.UnitCommand.TargetWorldSpacePos = point;

            // move back to mining
            var backToMining = new Action();

            backToMining.ActionRaw             = new ActionRaw();
            backToMining.ActionRaw.UnitCommand = new ActionRawUnitCommand();
            backToMining.ActionRaw.UnitCommand.QueueCommand = true;
            backToMining.ActionRaw.UnitCommand.AbilityId    = 295; // Gather ability TODO: (scv specific!)
            backToMining.ActionRaw.UnitCommand.UnitTags.Add(worker.Tag);
            backToMining.ActionRaw.UnitCommand.TargetUnitTag = Game.MapManager.GetMineralInMainBase();

            var requestAction = new RequestAction();

            //requestAction.Actions.Add(action2);
            requestAction.Actions.Add(action);
            requestAction.Actions.Add(backToMining);

            await _connectionService.SendRequestAsync(new Request { Action = requestAction });
        }
    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);

        Visible = false;

        if (Log != null)
        {
            // Log request values
            RequestDebug.LogRequestValues(true, true, true);

            var dt = GetLogData();
            if (dt != null)
            {
                Visible = true;

                // Ensure value collections
                if (Log.ValueCollections != null)
                {
                    tblResC.Title = GetString("RequestLog.ResponseCookies");
                    tblResC.Table = Log.ValueCollections.Tables["ResponseCookies"];

                    tblReqC.Title = GetString("RequestLog.RequestCookies");
                    tblReqC.Table = Log.ValueCollections.Tables["RequestCookies"];

                    tblVal.Title = GetString("RequestLog.Values");
                    tblVal.Table = Log.ValueCollections.Tables["Values"];
                }

                // Ensure header texts
                gridCache.Columns[1].HeaderText = GetString("RequestLog.Operation");
                gridCache.Columns[2].HeaderText = GetString("RequestLog.Parameter");
                gridCache.Columns[3].HeaderText = GetString("RequestLog.FromStart");
                gridCache.Columns[4].HeaderText = GetString("RequestLog.Duration");

                if (DisplayHeader)
                {
                    ltlInfo.Text = "<div class=\"LogInfo\">" + GetString("RequestLog.Info") + "</div>";
                }

                // Bind the data
                gridCache.DataSource = dt;
                gridCache.DataBind();
            }
        }
    }
Example #3
0
    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);

        Visible = false;

        if (Log != null)
        {
            // Log request values
            RequestDebug.LogRequestValues(true, true, true);

            var dt = GetLogData();
            if (dt != null)
            {
                Visible = true;

                // Ensure value collections
                if (Log.ValueCollections != null)
                {
                    tblResC.Title = GetString("RequestLog.ResponseCookies");
                    tblResC.Table = Log.ValueCollections.Tables["ResponseCookies"];

                    tblReqC.Title = GetString("RequestLog.RequestCookies");
                    tblReqC.Table = Log.ValueCollections.Tables["RequestCookies"];

                    tblVal.Title = GetString("RequestLog.Values");
                    tblVal.Table = Log.ValueCollections.Tables["Values"];
                }

                // Ensure header texts
                gridCache.SetHeaders("", "RequestLog.Operation", "RequestLog.Parameter", "RequestLog.FromStart", "RequestLog.Duration");

                HeaderText = GetString("RequestLog.Info");

                // Bind the data
                BindGrid(gridCache, dt);
            }
        }
    }