Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
Arquivo: Core.cs Projeto: Mej0/a
        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);
            }
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
 private void OnHandlePropertyChange(Entity sender, HandlePropertyChangeEventArgs args)
 {
     Messenger <HandlePropertyChangeEventArgs> .Publish(args);
 }