Example #1
0
        public PacketManager(ControlInterface ci, CommandHandler ch)
        {
            this.ci = ci;
            this.ch = ch;

            ci.remoteControl.SendPacketEvent += SendPacketHandler;
        }
Example #2
0
        public AutoLooter(Client client) : base(client)
        {
            ci = client.ControlInterface;
            me.LuaEventListener.Bind("LOOT_OPENED", LootOpenedHandler);

            this.Active = true;
        }
Example #3
0
 // Sets an owner for the worker, Gets the control interface as a parameter
 public void SetOwner(ControlInterface controlInterface)
 {
     if (this.owner == null)
     {
         this.owner = controlInterface;
     }
 }
Example #4
0
        public DpsOptimizationDeepQLearn(Client client) : base(client)
        {
            ci = client.ControlInterface;

            me.LuaEventListener.Bind("SWING_DAMAGE", DamageEvent);
            me.LuaEventListener.Bind("RANGE_DAMAGE", DamageEvent);
            me.LuaEventListener.Bind("SPELL_DAMAGE", DamageEvent);
            me.LuaEventListener.Bind("SPELL_PERIODIC_DAMAGE", DamageEvent);
            me.LuaEventListener.Bind("DAMAGE_SHIELD", DamageEvent);
            me.LuaEventListener.Bind("DAMAGE_SPLIT", DamageEvent);

            me.LuaEventListener.Bind("do", ControlEvent);


            /*
             *      turn on no-cost spells
             *      assume training agent has GM powers(training on own server emulator)
             */
            ci.remoteControl.FrameScript__Execute("SendChatMessage('.cheat power on')", 0, 0);

            actionPool = new ActionPool(me, new[]
            {
                typeof(WrathAction),
                typeof(StarfireAction),
            });


            SetupConnection(new IPEndPoint(IPAddress.Parse(ip), port));

            SendObject(new
            {
                StateCount  = EnvironmentState.GetTotalStateCount(),
                ActionCount = actionPool.ActionCount()
            });

            ResetSession();
            Console.WriteLine("Running.");
            this.Active = true;

            if (!me.GetObjectMgrAndPlayer())
            {
                return;
            }
            GameObject target = SelectTrainingTarget();

            if (target == null)
            {
                return;
            }

            currentState = EnvironmentState.GetState(me);
            SendObject(new
            {
                State  = currentState.ToInt(),
                Reward = 0
            });
        }
Example #5
0
        public Disenchanter(Client client) : base(client)
        {
            ci = client.ControlInterface;
            me.LuaEventListener.Bind("LOOT_OPENED", LootOpenedHandler);

            DisenchantLuaScript = Encoding.UTF8.GetString(File.ReadAllBytes("Scripts/Disenchant.lua"));

            this.Active = true;
        }
Example #6
0
        public void TurnRoverRight()
        {
            var controller = new ControlInterface();
            var rover      = new Rover();

            rover = controller.Command("R");

            Assert.AreEqual(Compass.E, rover.CompassDirection);
        }
Example #7
0
        public Fishing(Client client) : base(client)
        {
            // start fishing initially
            me.CastSpell("Fishing");

            ci = client.ControlInterface;

            this.Active = true;
        }
Example #8
0
        public void MoveRoverForwardOneSquare()
        {
            var controller = new ControlInterface();
            var rover      = new Rover();

            rover = controller.Command("F");

            Assert.AreEqual(1, rover.YCoOrdinate);
        }
Example #9
0
        public void TurnLeftAndMoveBack1Space()
        {
            var controller = new ControlInterface();
            var rover      = new Rover();

            rover = controller.Command("LB");

            Assert.AreEqual(1, rover.XCoOrdinate);
            Assert.AreEqual(0, rover.YCoOrdinate);
            Assert.AreEqual(Compass.W, rover.CompassDirection);
        }
Example #10
0
        public void MoveRoverRightAndForward()
        {
            var controller = new ControlInterface();
            var rover      = new Rover();

            rover = controller.Command("RF");

            Assert.AreEqual(0, rover.YCoOrdinate);
            Assert.AreEqual(1, rover.XCoOrdinate);
            Assert.AreEqual(Compass.E, rover.CompassDirection);
        }
Example #11
0
        public void MoveForward101Spaces()
        {
            var controller = new ControlInterface();
            var rover      = new Rover();

            for (int i = 0; i < 101; i++)
            {
                rover = controller.Command("F");
            }

            Assert.AreEqual(0, rover.YCoOrdinate);
        }
Example #12
0
        public BalanceDruidFarm(Client client) : base(client)
        {
            ci = client.ControlInterface;

            me.LuaEventListener.Bind("LOOT_OPENED", LootOpenedHandler);

            loot         = false;
            lootTargeted = false;


            this.Active = true;
        }
        void Awake()
        {
            controlInterface = new ControlInterface (player);

            #if !MOBILE_INPUT
            // Create a layer mask for the floor layer.
            floorMask = LayerMask.GetMask ("Floor");
            #endif

            // Set up references.
            anim = GetComponent <Animator> ();
            playerRigidbody = GetComponent <Rigidbody> ();
        }
Example #14
0
        public RightClick(ControlInterface u)
        {
            var menu = new MenuItem {
                Header = "Delete"
            };

            menu.Click += (s, e) =>
            {
                //detete event
                u.RemoveMySelf();
            };
            AddChild(menu);
        }
        void Awake()
        {
            controlInterface = new ControlInterface (player);

            // Create a layer mask for the Shootable layer.
            shootableMask = LayerMask.GetMask ("Shootable");

            // Set up the references.
            gunParticles = GetComponent<ParticleSystem> ();
            gunLine = GetComponent <LineRenderer> ();
            gunAudio = GetComponent<AudioSource> ();
            gunLight = GetComponent<Light> ();
            //faceLight = GetComponentInChildren<Light> ();
        }
Example #16
0
        public DpsOptimization(Client client) : base(client)
        {
            ci = client.ControlInterface;

            me.LuaEventListener.Bind("SWING_DAMAGE", DamageEvent);
            me.LuaEventListener.Bind("RANGE_DAMAGE", DamageEvent);
            me.LuaEventListener.Bind("SPELL_DAMAGE", DamageEvent);
            me.LuaEventListener.Bind("SPELL_PERIODIC_DAMAGE", DamageEvent);
            me.LuaEventListener.Bind("DAMAGE_SHIELD", DamageEvent);
            me.LuaEventListener.Bind("DAMAGE_SPLIT", DamageEvent);

            me.LuaEventListener.Bind("do", ControlEvent);


            /*
             *      turn on no-cost spells
             *      assume training agent has GM powers(training on own server emulator)
             */
            ci.remoteControl.FrameScript__Execute("SendChatMessage('.cheat power on')", 0, 0);

            actionPool = new ActionPool(me);

            QMatrix = new float[
                EnvironmentState.GetTotalStateCount(),
                actionPool.ActionCount()
                      ];

            ResetSession();
            Console.WriteLine("Running.");
            this.Active = true;

            /*
             * perform initial random action
             * initial state is needed to not perform actions prohibited by state
             */
            if (!me.GetObjectMgrAndPlayer())
            {
                return;
            }
            GameObject target = SelectTrainingTarget();

            if (target == null)
            {
                return;
            }

            /* initialize learning */
            currentState = GetState(target);
        }
Example #17
0
        protected override void OnStarted()
        {
            base.OnStarted();

            //报警服务初始化、设备控制服务初始化
            try
            {
                AlarmBusiness.InitEvent();
                LogServerManager.AddRunLog(OperationType.System, "服务器BCServer启动");
                ControlInterface.Init();
                Console.WriteLine("服务器BCServer启动");
            }
            catch (Exception ex)
            {
                Console.WriteLine("服务器BCServer启动失败!");
            }
        }
Example #18
0
            private List <GameObject> SelectThreateningUnitsForMountedCombat(ControlInterface ci, GameObjectManager gameObjMgr)
            {
                var threateners = new List <GameObject>();

                foreach (var gameObj in gameObjMgr)
                {
                    if (gameObj.Type == GameObjectType.Unit && gameObj.IsInCombat() && totch.IsAttackableByTank(gameObj) && gameObj.Health > 0)
                    {
                        var targetedPlayerGuid = squadData.Select(entry => entry.Value.warhorseGuid).FirstOrDefault(g => g == gameObj.TargetGUID);
                        if (targetedPlayerGuid != 0 && !totch.GetName(ci, gameObj).Contains("Mount"))
                        {
                            threateners.Add(gameObj);
                        }
                    }
                }

                return(threateners);
            }
Example #19
0
        private void Asteroids_Load(object sender, EventArgs e)
        {
            //Create needed lists at launch
            _shots = new List <Laser>();
            _rocks = new LinkedList <Rock>();
            _stars = new List <Star>();
            //Start controls so player can play
            _control = new ControlInterface();

            //Add rocks and stars to the starting menu
            for (int r = 0; r < 10; r++)
            {
                _rocks.AddLast(new Rock(_CgameScale, new PointF(rand.Next(0, ClientRectangle.Width), rand.Next(0, ClientRectangle.Height))));
            }
            for (int s = 0; s < 100; s++)
            {
                _stars.Add(new Star(_CgameScale, new PointF(rand.Next(0, ClientRectangle.Width), rand.Next(0, ClientRectangle.Height))));
            }
        }
Example #20
0
        /// <summary>
        /// Renders nearby units and players
        /// </summary>
        /// <param name="radarCanvas"></param>
        /// <param name="radarBackBuffer"></param>
        /// <param name="player"></param>
        /// <param name="objMgr"></param>
        /// <param name="targetGUID"></param>
        /// <param name="ci"></param>
        public static void BasicRadar(
            RadarCanvas radarCanvas,
            Bitmap radarBackBuffer,
            GameObject player,
            GameObjectManager objMgr,
            Int64 targetGUID,
            ControlInterface ci
            )
        {
            using (Graphics g = Graphics.FromImage(radarBackBuffer))
            {
                g.Clear(Color.Beige);

                int width  = radarCanvas.Width;
                int height = radarCanvas.Height;

                int baseX = width / 2;
                int baseY = height / 2;


                Vector3 playerCoordinates = player.Coordinates;
                float   px = playerCoordinates.x;
                float   py = playerCoordinates.y;
                foreach (GameObject obj in objMgr.Where(gameObj =>
                                                        gameObj.GetAddress() != player.GetAddress() &&
                                                        (gameObj.Type == GameObjectType.Unit ||
                                                         gameObj.Type == GameObjectType.Player)))
                {
                    /* map game coords to radar screen */
                    Vector3 objCoords = obj.Coordinates;

                    float dx = objCoords.x - px;
                    float dy = objCoords.y - py;

                    /* rotate object */
                    float angleRad   = player.Rotation + (float)(Math.PI / 2);
                    float objScreenX = (float)-((dx * Math.Cos(-angleRad)) - (dy * Math.Sin(-angleRad)));
                    float objScreenY = (float)((dx * Math.Sin(-angleRad)) + (dy * Math.Cos(-angleRad)));

                    objScreenX += baseX;
                    objScreenY += baseY;

                    Brush brush;
                    if (obj.GUID == targetGUID)
                    {
                        brush = RadarCanvas.TargetBrush;
                        goto shape;
                    }

                    if (obj.Health > 0)
                    {
                        UnitReaction reaction = ci.remoteControl.CGUnit_C__UnitReaction(player.GetAddress(), obj.GetAddress());
                        if (reaction > UnitReaction.Neutral)
                        {
                            brush = RadarCanvas.FriendlyUnitBrush;
                            goto shape;
                        }

                        if (obj.IsTaggedByOther())
                        {
                            brush = RadarCanvas.TaggedByOtherUnitBrush;
                            goto shape;
                        }

                        if (reaction == UnitReaction.Neutral)
                        {
                            brush = RadarCanvas.NeutralUnitBrush;
                        }
                        else
                        {
                            brush = RadarCanvas.UnfriendlyUnitBrush;
                        }
                    }
                    else
                    {
                        if (obj.IsLootable())
                        {
                            brush = RadarCanvas.LootableUnitBrush;
                        }
                        else
                        {
                            brush = RadarCanvas.NonLootableUnitBrush;
                        }
                    }


shape:
                    Font nameFont;
                    using (Pen pen = new Pen(brush))
                    {
                        if (obj.Type == GameObjectType.Player)
                        {
                            if (objCoords.z > playerCoordinates.z)
                            {
                                g.FillEllipse(brush, objScreenX, objScreenY, 8f, 8f);
                            }
                            else
                            {
                                g.DrawEllipse(pen, objScreenX, objScreenY, 8f, 8f);
                            }


                            nameFont = RadarCanvas.PlayerNameFont;
                        }
                        else
                        {
                            g.DrawRectangle(pen, objScreenX, objScreenY, 5f, 5f);

                            nameFont = RadarCanvas.UnitFont;
                        }
                    }


                    g.DrawString(
                        ci.remoteControl.GetUnitName(obj.GetAddress()),
                        nameFont,
                        brush, objScreenX - 8, objScreenY - 18);
                }

                // player triangle
                g.DrawLine(RadarCanvas.PlayerPen, baseX, baseY - 15, baseX + 5, baseY);
                g.DrawLine(RadarCanvas.PlayerPen, baseX + 5, baseY, baseX - 5, baseY);
                g.DrawLine(RadarCanvas.PlayerPen, baseX - 5, baseY, baseX, baseY - 15);
            }
        }
Example #21
0
        public override void ExecuteCommand(AppSession session, StringRequestInfo requestInfo)//AppSession session, StringRequestInfo requestInfo||BCSession session, StringRequestInfo requestInfo
        {
            DeviceData data = new DeviceData();

            switch (requestInfo[0])
            {
            case "HD":
            {
                string str = requestInfo.Body.Substring(3);
                data = JsonConvert.DeserializeObject <DeviceData>(str);
                ControlInterface.HDControlInterface(data.tmpControlData);
            }
            break;

            case "CCD":
            {
                string str = requestInfo.Body.Substring(4);
                data = JsonConvert.DeserializeObject <DeviceData>(str);
                ControlInterface.CCDControlInterface(data.tmpControlData);
            }
            break;

            case "IR":
            {
                string str = requestInfo.Body.Substring(3);
                data = JsonConvert.DeserializeObject <DeviceData>(str);
                ControlInterface.IRControlInterface(data.tmpControlData);
            }
            break;

            case "TurntableState":
            {
                string str = requestInfo.Body.Substring(15);
                data = JsonConvert.DeserializeObject <DeviceData>(str);
                DeviceData data1 = new DeviceData();
                data1.tmpTurntableStateData = ControlInterface.GetTurntableStateData(data.tmp_Guid);
                string strJsonData = JsonConvert.SerializeObject(data1);
                session.Send(strJsonData);
            }
            break;

            case "SuperiorGetStateData":    //上级获取转台信息(临时使用)不作为永久使用。
            {
                string str = requestInfo.Body.Substring(21);
                data = JsonConvert.DeserializeObject <DeviceData>(str);
                string strTurntableState;
                strTurntableState = ControlInterface.SuperiorGetTurntableStateData(data.tmp_Guid);
                string strJsonData = JsonConvert.SerializeObject(strTurntableState);
                session.Send(strJsonData);
            }
            break;

            case "PresetAdd":
            {
                string str = requestInfo.Body.Substring(10);
                data = JsonConvert.DeserializeObject <DeviceData>(str);
                ControlInterface.PresetAddInterface(data.tmpTurntablePresetData);
            }
            break;

            case "PresetGet":
            {
                string str = requestInfo.Body.Substring(10);
                data = JsonConvert.DeserializeObject <DeviceData>(str);
                DeviceData data1 = new DeviceData();
                data1.tmpListTurntablePreset = ControlInterface.PresetGetInterface(data.tmp_Guid);
                string strJsonData = JsonConvert.SerializeObject(data1);
                session.Send(strJsonData);
            }
            break;

            case "PresetDel":
            {
                string str = requestInfo.Body.Substring(10);
                data = JsonConvert.DeserializeObject <DeviceData>(str);
                ControlInterface.PresetDelInterface(data.tmpTurntablePresetData);
            }
            break;

            case "PresetSet":
            {
                string str = requestInfo.Body.Substring(10);
                data = JsonConvert.DeserializeObject <DeviceData>(str);
                ControlInterface.PresetSetInterface(data.tmpTurntablePresetData);
            }
            break;

            case "PresetUpdate":
            {
                string str = requestInfo.Body.Substring(13);
                data = JsonConvert.DeserializeObject <DeviceData>(str);
                ControlInterface.PresetUpdateInterface(data.tmpTurntablePresetData);
            }
            break;

            case "SectorScanOpen":
            {
                string str = requestInfo.Body.Substring(15);
                data = JsonConvert.DeserializeObject <DeviceData>(str);
                ControlInterface.SectorScanOpen(data.tmpSectorScanData);
            }
            break;

            case "SectorScanOff":
            {
                string str = requestInfo.Body.Substring(14);
                data = JsonConvert.DeserializeObject <DeviceData>(str);
                ControlInterface.SectorScanOff(data.tmpSectorScanData);
            }
            break;

            case "UPSGet":
            {
                string str = requestInfo.Body.Substring(7);
                data = JsonConvert.DeserializeObject <DeviceData>(str);
                DeviceData data1 = new DeviceData();
                data1.tmpGetUpsData = ControlInterface.UpsGet();
                string strJsonData = JsonConvert.SerializeObject(data1);
                session.Send(strJsonData);
            }
            break;
            }
        }
Example #22
0
    protected virtual void Awake()
    {
        anim = GetComponentsInChildren<Animator>()[0];
        stateManager = new StateManager(this);
        buffManager = new BuffManager(this);
        stateManager.SetNeutralState();
        playerRigidbody = GetComponent<Rigidbody>();
        controllerInterface = new ControlInterface(playerNumber);

        moveSpeedMultiplier = 1f;
        hp = 100f;
        initialPosition = transform.position;
    }
Example #23
0
 public string GetName(ControlInterface ci, GameObject unit)
 {
     return(ci.remoteControl.GetUnitName(unit.GetAddress()));
 }