private void OnHandlePropertyChange(Entity sender, HandlePropertyChangeEventArgs args) { if (sender.Team == this.allyTeam || args.NewValue == args.OldValue || !args.OldValue.IsValid || args.PropertyName != "m_hKillCamUnit") { return; } try { // respawn var handle = ((Player)sender).Hero?.Handle; var unit = (Hero9)EntityManager9.GetUnitFast(handle); if (unit == null) { return; } UpdateManager.BeginInvoke(() => RespawnUnit(unit), 500); } catch (Exception e) { Logger.Error(e); } }
private async void OnHandlePropertyChange(Entity sender, HandlePropertyChangeEventArgs args) { await Task.Delay(1); if (!this.IsValid(sender, args)) { return; } var item = new LogItem(LogType.Handle, Color.Cyan, "Handle changed"); item.AddLine("Property name: " + args.PropertyName, args.PropertyName); item.AddLine( "Property values: " + ObjectManager.GetEntities <Entity>().FirstOrDefault(x => x.IsValid && x.Index == args.OldValue.Index)?.Name + " => " + ObjectManager.GetEntities <Entity>().FirstOrDefault(x => x.IsValid && x.Index == args.NewValue.Index)?.Name, ObjectManager.GetEntities <Entity>().FirstOrDefault(x => x.IsValid && x.Index == args.NewValue.Index)?.Name); item.AddLine("Sender name: " + sender.Name, sender.Name); item.AddLine("Sender network name: " + sender.NetworkName, sender.NetworkName); item.AddLine("Sender classID: " + sender.ClassId, sender.ClassId); if (sender.Owner is Unit) { item.AddLine("Owner name: " + sender.Owner.Name, sender.Owner.Name); item.AddLine("Owner network name: " + sender.Owner.NetworkName, sender.Owner.NetworkName); item.AddLine("Owner classID: " + sender.Owner.ClassId, sender.Owner.ClassId); } this.log.Display(item); }
private void OnHandlePropertyChanged(Entity sender, HandlePropertyChangeEventArgs args) { var menu = mainMenu.OnChangeMenu.Handles; if (!menu.Enabled || menu.HeroesOnly && !(sender is Hero)) { return; } const Color Color = Color.Cyan; const Logger.Type Type = Logger.Type.Handle; logger.Write("Handle property changed", Type, Color, true); logger.Write("Sender name: " + sender.Name, Type, Color); logger.Write("Sender network name: " + sender.NetworkName, Type, Color); logger.Write("Sender classID: " + sender.ClassId, Type, Color); if (sender.Owner != null) { logger.Write("Owner Name: " + sender.Owner.Name, Type, Color); logger.Write("Owner Network Name: " + sender.Owner.NetworkName, Type, Color); logger.Write("Owner classID: " + sender.Owner.ClassId, Type, Color); } logger.Write("Property name: " + args.PropertyName, Type, Color); logger.Write("Property value: " + args.OldValue?.Name, Type, Color); logger.EmptyLine(); }
private void OnHandlePropertyChange(Entity sender, HandlePropertyChangeEventArgs args) { try { if (args.NewValue == args.OldValue || args.PropertyName != "m_hTowerAttackTarget") { return; } var unit = EntityManager9.GetUnit(args.NewValue); if (unit == null || !unit.IsHero || unit.IsIllusion || unit.Distance(this.owner) > 1000) { return; } this.effect?.Dispose(); this.effect = new ParticleEffect(@"materials\ensage_ui\particles\target.vpcf", unit.Position); this.effect.SetControlPoint(2, sender.Position); this.effect.SetControlPoint(5, new Vector3(255, 0, 0)); this.effect.SetControlPoint(6, new Vector3(255)); this.tower = (Tower)sender; this.towerTarget = unit; this.handler.IsEnabled = true; } catch (Exception e) { Logger.Error(e); } }
private void Entity_OnHandlePropertyChange(Entity sender, HandlePropertyChangeEventArgs args) { var hero = sender as Hero; // check if we bought a new item if ((hero != null) && (hero == this.me) && (args.PropertyName == "m_hItems")) { DelayAction.Add(250, this.CheckCombos); } }
private bool IsValid(Entity sender, HandlePropertyChangeEventArgs args) { if (args.OldValue.Equals(args.NewValue)) { return(false); } if (this.heroesOnly && !(sender is Hero) && !(sender.Owner is Hero)) { return(false); } return(true); }
private void OnHandleChanged(Entity sender, HandlePropertyChangeEventArgs args) { var tower = sender as Tower; if (tower == null) { return; } if (!args.PropertyName.Equals("m_htowerattacktarget", StringComparison.InvariantCultureIgnoreCase)) { return; } if (this.Owner.Distance2D(tower) > 3000) { return; } var creepStatus = this.GetCreepStatusEntry(tower); creepStatus.LastAttackAnimationTime = Game.RawGameTime - (Game.Ping / 2000f); }
private void OnHandlePropertyChange(Entity sender, HandlePropertyChangeEventArgs args) { if (!this.IsValid(sender, args)) { return; } var item = new LogItem(LogType.Handle, Color.Cyan, "Handle changed"); item.AddLine("Property name: " + args.PropertyName, args.PropertyName); item.AddLine("Property values: " + args.OldValue?.Name + " => " + args.NewValue?.Name, args.NewValue?.Name); item.AddLine("Sender name: " + sender.Name, sender.Name); item.AddLine("Sender network name: " + sender.NetworkName, sender.NetworkName); item.AddLine("Sender classID: " + sender.ClassId, sender.ClassId); if (sender.Owner is Unit) { item.AddLine("Owner name: " + sender.Owner.Name, sender.Owner.Name); item.AddLine("Owner network name: " + sender.Owner.NetworkName, sender.Owner.NetworkName); item.AddLine("Owner classID: " + sender.Owner.ClassId, sender.Owner.ClassId); } this.log.Display(item); }
private bool IsValid(Entity sender, HandlePropertyChangeEventArgs args) { if (args.OldValue.Equals(args.NewValue)) { return(false); } if (this.ignoreUseless && this.ignored.Contains(args.PropertyName)) { return(false); } if (this.ignoreSemiUseless && this.semiIgnored.Contains(args.PropertyName)) { return(false); } if (this.heroesOnly && !(sender is Hero) && !(sender.Owner is Hero)) { return(false); } return(true); }
private void OnHandlePropertyChange(Entity sender, HandlePropertyChangeEventArgs args) { Messenger <HandlePropertyChangeEventArgs> .Publish(args); }