public static void SendMultiTargetReq(this NetState ns, MultiTarget t) { if (ns == null || !ns.GetSendBuffer(out var buffer)) { return; } var writer = new CircularBufferWriter(buffer); writer.Write((byte)0x99); // Packet ID writer.Write(t.AllowGround); writer.Write(t.TargetID); writer.Write((byte)t.Flags); writer.Clear(11); writer.Write((short)t.MultiID); writer.Write((short)t.Offset.X); writer.Write((short)t.Offset.Y); writer.Write((short)t.Offset.Z); if (ns.HighSeas) { writer.Write(0); } ns.Send(ref buffer, writer.Position); }
public static void SendMultiTargetReq(this NetState ns, MultiTarget t) { if (ns == null) { return; } var writer = new SpanWriter(stackalloc byte[ns.HighSeas ? 30 : 26]); writer.Write((byte)0x99); // Packet ID writer.Write(t.AllowGround); writer.Write(t.TargetID); writer.Write((byte)t.Flags); writer.Clear(11); writer.Write((short)t.MultiID); writer.Write((short)t.Offset.X); writer.Write((short)t.Offset.Y); writer.Write((short)t.Offset.Z); if (ns.HighSeas) { writer.Write(0); } ns.Send(writer.Span); }
void IEditorMultiTargetBehaviour.InitializeMultiTarget(MultiTarget multiTarget) { base.mTrackable = this.mMultiTarget = multiTarget; if (base.mExtendedTracking) { this.mMultiTarget.StartExtendedTracking(); } }
public override int GetHashCode() { return((DrugId + TargetId + MultiTarget.ToString() + TargetClassifierCategory + TargetClassifierDescription + CreatonDate.ToString()).GetHashCode()); }
// Creates a new Multi Target with the data of the Multi Target with the // given name. // Returns false if Multi Target does not exist. public void GetMultiTarget(string name, out MultiTarget mt) { try { mt = multiTargets[name]; } catch { throw; } }
// Add Multi Target Part to the Multi Target with the given multiTargetName. public void AddMultiTargetPart(MultiTargetPart item, string multiTargetName) { try { MultiTarget mt = multiTargets[multiTargetName]; mt.parts.Add(item); } catch { throw; } }
private MultiTargetAbstractBehaviour CreateMultiTargetBehaviour(MultiTarget multiTarget) { GameObject gameObject = new GameObject(); MultiTargetAbstractBehaviour behaviour = BehaviourComponentFactory.Instance.AddMultiTargetBehaviour(gameObject); IEditorMultiTargetBehaviour behaviour2 = behaviour; Debug.Log(string.Concat(new object[] { "Creating Multi Target with values: \n ID: ", multiTarget.ID, "\n Name: ", multiTarget.Name, "\n Path: ", behaviour2.DataSetPath })); behaviour2.SetNameForTrackable(multiTarget.Name); behaviour2.SetDataSetPath(behaviour2.DataSetPath); behaviour2.InitializeMultiTarget(multiTarget); return(behaviour); }
public void CustomMultiTarget() { var target = new MultiTarget() { new CustomTarget(), new CustomTarget() }; using (var profiler = new MicroProfiler("MyName", target: target)) { Thread.Sleep(11); } Assert.That(target.All(x => (x as CustomTarget).Elapsed >= 10), Is.True); Assert.That(target.All(x => (x as CustomTarget).Name == "MyName"), Is.True); }
public MultiTargetReq(MultiTarget t) : base(0x99, 26) { Stream.Write(t.AllowGround); Stream.Write(t.TargetID); Stream.Write((byte)t.Flags); Stream.Fill(); Stream.Seek(18, SeekOrigin.Begin); Stream.Write((short)t.MultiID); Stream.Write((short)t.Offset.X); Stream.Write((short)t.Offset.Y); Stream.Write((short)t.Offset.Z); }
// Methods public MultiTargetReq(MultiTarget t) : base(153, 26) { this.m_Stream.Write(t.AllowGround); this.m_Stream.Write(t.TargetID); this.m_Stream.Write(((byte)t.Flags)); this.m_Stream.Fill(); this.m_Stream.Seek(18, SeekOrigin.Begin); this.m_Stream.Write(((short)t.MultiID)); Point3D pointd1 = t.Offset; this.m_Stream.Write(((short)pointd1.X)); pointd1 = t.Offset; this.m_Stream.Write(((short)pointd1.Y)); pointd1 = t.Offset; this.m_Stream.Write(((short)pointd1.Z)); }
private MultiTargetAbstractBehaviour CreateMultiTargetBehaviour(MultiTarget multiTarget) { GameObject gameObject = new GameObject(); MultiTargetAbstractBehaviour multiTargetAbstractBehaviour = BehaviourComponentFactory.Instance.AddMultiTargetBehaviour(gameObject); Debug.Log(string.Concat(new object[] { "Creating Multi Target with values: \n ID: ", multiTarget.ID, "\n Name: ", multiTarget.Name, "\n Path: ", ((MultiTargetImpl)multiTarget).DataSet.Path })); multiTargetAbstractBehaviour.InitializeTarget(multiTarget, true); return(multiTargetAbstractBehaviour); }
internal override bool InitializeTarget(Trackable trackable, bool applyTargetScaleToBehaviour) { base.InitializeTarget(trackable, applyTargetScaleToBehaviour); MultiTargetImpl multiTargetImpl = trackable as MultiTargetImpl; if (multiTargetImpl == null) { return(false); } this.mTrackable = (this.mMultiTarget = multiTargetImpl); this.mTrackableName = multiTargetImpl.Name; this.mDataSetPath = multiTargetImpl.DataSet.Path; if (this.mExtendedTracking) { this.mMultiTarget.StartExtendedTracking(); } return(true); }
private MultiTargetBehaviour CreateMultiTargetBehaviour(MultiTarget multiTarget) { GameObject multiTargetObject = new GameObject(); MultiTargetBehaviour newMTB = multiTargetObject.AddComponent <MultiTargetBehaviour>(); IEditorMultiTargetBehaviour newEditorMTB = newMTB; Debug.Log("Creating Multi Target with values: " + "\n ID: " + multiTarget.ID + "\n Name: " + multiTarget.Name + "\n Path: " + newEditorMTB.DataSetPath); // Set Multi Target attributes. newEditorMTB.SetNameForTrackable(multiTarget.Name); newEditorMTB.SetDataSetPath(newEditorMTB.DataSetPath); newEditorMTB.InitializeMultiTarget(multiTarget); return(newMTB); }
// Set attributes of the Multi Target with the given name. // If the Multi Target does not yet exist it is created automatically. public void SetMultiTarget(MultiTarget item, string name) { multiTargets[name] = item; }
public static async Task <bool> Combat() { if (BotManager.Current.IsAutonomous) { if (Core.Me.HasTarget) { Movement.NavigateToUnitLos(Core.Me.CurrentTarget, 20 + Core.Me.CurrentTarget.CombatReach); } } if (!Core.Me.HasTarget || !Core.Me.CurrentTarget.ThoroughCanAttack()) { return(false); } if (await CustomOpenerLogic.Opener()) { return(true); } if (MachinistSettings.Instance.UseFlamethrower && Core.Me.HasAura(Auras.Flamethrower)) { // First check movement otherwise Flamethrower can be executed whereas you are moving if (MovementManager.IsMoving) { return(false); } if (!MachinistSettings.Instance.UseFlamethrower) { return(true); } if (Core.Me.EnemiesInCone(8) >= MachinistSettings.Instance.FlamethrowerEnemyCount) { return(true); } } if (ActionResourceManager.Machinist.OverheatRemaining != TimeSpan.Zero) { if (MachinistRoutine.GlobalCooldown.CanWeave(1)) { //Utility if (await PhysicalDps.ArmsLength(MachinistSettings.Instance)) { return(true); } if (await PhysicalDps.Interrupt(MachinistSettings.Instance)) { return(true); } //Pets if (await Pet.RookQueen()) { return(true); } //Cooldowns if (await Cooldowns.BarrelStabilizer()) { return(true); } //oGCDs if (await SingleTarget.GaussRound()) { return(true); } if (await MultiTarget.Ricochet()) { return(true); } //Cooldowns if (await Cooldowns.Reassemble()) { return(true); } } } else { if (MachinistRoutine.GlobalCooldown.CanWeave()) { //Utility if (await Utility.Tactician()) { return(true); } if (await PhysicalDps.ArmsLength(MachinistSettings.Instance)) { return(true); } if (await PhysicalDps.SecondWind(MachinistSettings.Instance)) { return(true); } if (await PhysicalDps.Interrupt(MachinistSettings.Instance)) { return(true); } //Pets if (await Pet.RookQueen()) { return(true); } if (await Pet.RookQueenOverdrive()) { return(true); } //Cooldowns if (await Cooldowns.Wildfire()) { return(true); } if (await Cooldowns.Hypercharge()) { return(true); } if (await Cooldowns.Reassemble()) { return(true); } if (await Cooldowns.BarrelStabilizer()) { return(true); } //oGCDs if (await SingleTarget.GaussRound()) { return(true); } if (await MultiTarget.Ricochet()) { return(true); } } } //GCDs - Top Hypercharge Priority if (await MultiTarget.AutoCrossbow()) { return(true); } if (await SingleTarget.HeatBlast()) { return(true); } //Use On CD if (await MultiTarget.ChainSaw()) { return(true); } if (await MultiTarget.BioBlaster()) { return(true); } if (await SingleTarget.Drill()) { return(true); } if (await SingleTarget.HotAirAnchor()) { return(true); } if (await MultiTarget.Flamethrower()) { return(true); } if (await MultiTarget.Scattergun()) { return(true); } //Default Combo if (await SingleTarget.HeatedCleanShot()) { return(true); } if (await SingleTarget.HeatedSlugShot()) { return(true); } return(await SingleTarget.HeatedSplitShot()); }
public static async Task <bool> Combat() { if (BotManager.Current.IsAutonomous) { if (Core.Me.HasTarget) { Movement.NavigateToUnitLos(Core.Me.CurrentTarget, 23); } } if (!Core.Me.HasTarget || !Core.Me.CurrentTarget.ThoroughCanAttack()) { return(false); } if (await CustomOpenerLogic.Opener()) { return(true); } if (MachinistSettings.Instance.UseFlamethrower && Core.Me.HasAura(Auras.Flamethrower)) { // First check movement otherwise Flamethrower can be executed whereas you are moving if (MovementManager.IsMoving) { return(false); } if (!MachinistSettings.Instance.UseFlamethrower) { return(true); } if (Core.Me.EnemiesInCone(8) >= MachinistSettings.Instance.FlamethrowerEnemyCount) { return(true); } } //oGCDs //Utility if (await Utility.Tactician()) { return(true); } if (await PhysicalDps.ArmsLength(MachinistSettings.Instance)) { return(true); } if (await PhysicalDps.SecondWind(MachinistSettings.Instance)) { return(true); } if (await Utility.HeadGraze()) { return(true); } if (Weaving.GetCurrentWeavingCounter() < 2) { //Pets if (await Pet.RookQueen()) { return(true); } if (await Pet.RookQueenOverdrive()) { return(true); } //Cooldowns if (await Cooldowns.Wildfire()) { return(true); } if (await Cooldowns.Hypercharge()) { return(true); } if (await Cooldowns.Reassemble()) { return(true); } if (await Cooldowns.BarrelStabilizer()) { return(true); } //oGCDs if (await SingleTarget.GaussRound()) { return(true); } if (await MultiTarget.Ricochet()) { return(true); } } //GCDs - Top Hypercharge Priority if (await MultiTarget.AutoCrossbow()) { return(true); } if (await SingleTarget.HeatBlast()) { return(true); } //Use On CD if (await MultiTarget.BioBlaster()) { return(true); } if (await SingleTarget.Drill()) { return(true); } if (await SingleTarget.HotAirAnchor()) { return(true); } if (await MultiTarget.Flamethrower()) { return(true); } if (await MultiTarget.SpreadShot()) { return(true); } //Default Combo if (Core.Me.ClassLevel > 58) { if (Spells.Drill.Cooldown.TotalMilliseconds > 100) { if (await SingleTarget.HeatedCleanShot()) { return(true); } if (await SingleTarget.HeatedSlugShot()) { return(true); } } } else { if (await SingleTarget.HeatedCleanShot()) { return(true); } if (await SingleTarget.HeatedSlugShot()) { return(true); } } return(await SingleTarget.HeatedSplitShot()); }
/// <summary> /// This method disconnects the TrackableBehaviour from it's associated trackable. /// Use it only if you know what you are doing - e.g. when you want to destroy a trackable, but reuse the TrackableBehaviour. /// </summary> protected override void InternalUnregisterTrackable() { mTrackable = mMultiTarget = null; }
void IEditorMultiTargetBehaviour.InitializeMultiTarget(MultiTarget multiTarget) { mTrackable = mMultiTarget = multiTarget; }
protected override void InternalUnregisterTrackable() { this.mTrackable = (this.mMultiTarget = null); }
public bool SetInitializationTarget(MultiTarget multiTarget, Vector3 occluderMin, Vector3 occluderMax) { return(this.SetInitializationTarget(multiTarget, occluderMin, occluderMax, Vector3.zero, Quaternion.identity)); }
public bool SetInitializationTarget(MultiTarget multiTarget, Vector3 occluderMin, Vector3 occluderMax, Vector3 offsetToOccluderOrigin, Quaternion rotationToOccluderOrigin) { return(this.SetInitializationTarget(((MultiTargetImpl)multiTarget).DataSet.DataSetPtr, multiTarget, occluderMin, occluderMax, offsetToOccluderOrigin, rotationToOccluderOrigin)); }
public MultiTargetReqHS(MultiTarget t) : base(0x99, 30) { m_Stream.Write(t.AllowGround); m_Stream.Write(t.TargetID); m_Stream.Write((byte)t.Flags); m_Stream.Fill(); m_Stream.Seek(18, SeekOrigin.Begin); m_Stream.Write((short)t.MultiID); m_Stream.Write((short)t.Offset.X); m_Stream.Write((short)t.Offset.Y); m_Stream.Write((short)t.Offset.Z); }
private MultiTargetBehaviour CreateMultiTargetBehaviour(MultiTarget multiTarget) { GameObject multiTargetObject = new GameObject(); MultiTargetBehaviour newMTB = multiTargetObject.AddComponent<MultiTargetBehaviour>(); IEditorMultiTargetBehaviour newEditorMTB = newMTB; Debug.Log("Creating Multi Target with values: " + "\n ID: " + multiTarget.ID + "\n Name: " + multiTarget.Name + "\n Path: " + newEditorMTB.DataSetPath); // Set Multi Target attributes. newEditorMTB.SetNameForTrackable(multiTarget.Name); newEditorMTB.SetDataSetPath(newEditorMTB.DataSetPath); newEditorMTB.InitializeMultiTarget(multiTarget); return newMTB; }
// Creates a new Multi Target with the data of the Multi Target with the // given name. // Returns false if Multi Target does not exist. public bool GetMultiTarget(string name, out MultiTarget mt) { try { mt = multiTargets[name]; } catch (KeyNotFoundException) { mt = new MultiTarget(); return false; } catch (Exception e) { throw e; } return true; }