public PacketManager(ControlInterface ci, CommandHandler ch) { this.ci = ci; this.ch = ch; ci.remoteControl.SendPacketEvent += SendPacketHandler; }
public AutoLooter(Client client) : base(client) { ci = client.ControlInterface; me.LuaEventListener.Bind("LOOT_OPENED", LootOpenedHandler); this.Active = true; }
// 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; } }
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 }); }
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; }
public void TurnRoverRight() { var controller = new ControlInterface(); var rover = new Rover(); rover = controller.Command("R"); Assert.AreEqual(Compass.E, rover.CompassDirection); }
public Fishing(Client client) : base(client) { // start fishing initially me.CastSpell("Fishing"); ci = client.ControlInterface; this.Active = true; }
public void MoveRoverForwardOneSquare() { var controller = new ControlInterface(); var rover = new Rover(); rover = controller.Command("F"); Assert.AreEqual(1, rover.YCoOrdinate); }
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); }
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); }
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); }
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> (); }
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> (); }
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); }
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启动失败!"); } }
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); }
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)))); } }
/// <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); } }
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; } }
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; }
public string GetName(ControlInterface ci, GameObject unit) { return(ci.remoteControl.GetUnitName(unit.GetAddress())); }