예제 #1
0
            public ChampionTracker(Obj_AI_Hero champion)
            {
                Champion           = champion;
                LastPotion         = champion.ServerPosition;
                StartInvisibleTime = Game.ClockTime;
                var sprite =
                    new Render.Sprite(
                        Helper.ChangeOpacity(
                            ResourceImages.GetChampionSquare(champion.SkinName) ??
                            ResourceImages.GetChampionSquare("Aatrox"), Opacity), new Vector2(0, 0));

                sprite.GrayScale();
                sprite.Scale            = new Vector2(Scale, Scale);
                sprite.VisibleCondition = sender => TrackerCondition;
                sprite.PositionUpdate   =
                    () => Drawing.WorldToMinimap(LastPotion) + new Vector2(-(sprite.Width / 2), -(sprite.Height / 2));
                sprite.Add(0);
                Text = new Render.Text(0, 0, "", Menu.Item("TextSize").GetValue <Slider>().Value, Color.White)
                {
                    VisibleCondition = sender => TrackerCondition,
                    PositionUpdate   = () => Drawing.WorldToMinimap(LastPotion),
                    TextUpdate       = () => Helper.FormatTime(Game.ClockTime - StartInvisibleTime),
                    OutLined         = true,
                    Centered         = true
                };
                Text.Add(0);
                AppDomain.CurrentDomain.DomainUnload += CurrentDomainOnDomainUnload;
                AppDomain.CurrentDomain.ProcessExit  += CurrentDomainOnDomainUnload;
            }
예제 #2
0
            public ChampionTracker(Obj_AI_Hero champion)
            {
                Champion           = champion;
                LastPotion         = champion.ServerPosition;
                StartInvisibleTime = Game.ClockTime;
                var sprite =
                    new Render.Sprite(
                        Helper.ChangeOpacity(
                            Helper.CropCircleImage(
                                (Resources.ResourceManager.GetObject(Champion.ChampionName + "_Square_0") ??
                                 Resources.Katarina_Square_0) as Bitmap), Opacity), new Vector2(0, 0));

                sprite.GrayScale();
                sprite.Scale            = new Vector2(Scale, Scale);
                sprite.VisibleCondition = sender => TrackerCondition;
                sprite.PositionUpdate   =
                    () => Drawing.WorldToMinimap(LastPotion) + new Vector2(-(sprite.Width / 2), -(sprite.Height / 2));
                sprite.Add(0);
                Text = new Render.Text(0, 0, "", Menu.Item("TextSize").GetValue <Slider>().Value, Color.White)
                {
                    VisibleCondition = sender => TrackerCondition,
                    PositionUpdate   = () => Drawing.WorldToMinimap(LastPotion),
                    TextUpdate       = () => Helper.FormatTime(Game.ClockTime - StartInvisibleTime),
                    OutLined         = true,
                    Centered         = true
                };
                Text.Add(0);
            }
예제 #3
0
        public HeroTracker(AIHeroClient hero, Bitmap bmp)
        {
            Hero = hero;
            var image = new Render.Sprite(bmp, new Vector2(0, 0));

            image.GrayScale();
            image.Scale            = new Vector2(0.5f, 0.5f);
            image.VisibleCondition = sender => !hero.IsHPBarRendered && !hero.IsDead && Misc.isChecked(LastSeenPosition.LastSeenPositionMenu, "drawEnd");
            image.PositionUpdate   = delegate
            {
                var v2 = Drawing.WorldToMinimap(LastLocation);
                v2.X -= image.Width / 2f;
                v2.Y -= image.Height / 2f;
                return(v2);
            };
            image.Add(0);
            LastSeen             = 0;
            LastLocation         = hero.ServerPosition;
            PredictedLocation    = hero.ServerPosition;
            BeforeRecallLocation = hero.ServerPosition;
            Pinged = false;

            Drawing.OnEndScene += LastSeenPosition_OnDraw;
            Game.OnTick        += LastSeenPosition_OnTick;
        }
예제 #4
0
        public void Kill(float respawn)
        {
            if (respawn == 0.0f) //Camp found dead.
            {
                Sprite.GrayScale();
                Sprite.Show();
            }
            else
            {
                Sprite.Hide();
            }

            State       = respawn == 0.0f ? CampState.Unknown : CampState.Dead;
            RespawnTime = Environment.TickCount + _respawnDuration + 1000 + Game.Ping;
        }
        public HeroTracker(Obj_AI_Hero hero, Bitmap bmp)
        {
            Hero = hero;

            RecallStatus = Packet.S2C.Teleport.Status.Unknown;
            Hero         = hero;
            var image = new Render.Sprite(bmp, new Vector2(0, 0));

            image.GrayScale();
            image.Scale            = new Vector2(MinimapHack.Instance().Menu.IconScale, MinimapHack.Instance().Menu.IconScale);
            image.VisibleCondition = sender => !hero.IsVisible && !hero.IsDead;
            image.PositionUpdate   = delegate
            {
                Vector2 v2 = Drawing.WorldToMinimap(LastLocation);
                v2.X -= image.Width / 2f;
                v2.Y -= image.Height / 2f;
                return(v2);
            };
            image.Add(0);
            LastSeen             = 0;
            LastLocation         = hero.ServerPosition;
            PredictedLocation    = hero.ServerPosition;
            BeforeRecallLocation = hero.ServerPosition;

            Text = new Render.Text(0, 0, "", MinimapHack.Instance().Menu.SSTimerSize, Color.White)
            {
                VisibleCondition =
                    sender =>
                    !hero.IsVisible && !Hero.IsDead && MinimapHack.Instance().Menu.SSTimer&& LastSeen > 20f &&
                    MinimapHack.Instance().Menu.SSTimerStart <= Game.ClockTime - LastSeen,
                PositionUpdate = delegate
                {
                    Vector2 v2 = Drawing.WorldToMinimap(LastLocation);
                    v2.Y += MinimapHack.Instance().Menu.SSTimerOffset;
                    return(v2);
                },
                TextUpdate = () => Program.Format(Game.ClockTime - LastSeen),
                OutLined   = true,
                Centered   = true
            };
            Text.Add(0);

            Obj_AI_Base.OnTeleport += Obj_AI_Base_OnTeleport;
            Game.OnUpdate          += Game_OnGameUpdate;
            Drawing.OnEndScene     += Drawing_OnEndScene;
        }
예제 #6
0
        public Position(Obj_AI_Hero hero, Bitmap bmp, float scale)
        {
            Hero  = hero;
            Image = new Render.Sprite(bmp, new Vector2(0, 0));
            Image.GrayScale();
            Image.Scale            = new Vector2(scale, scale);
            Image.VisibleCondition = sender => !hero.IsVisible && !hero.IsDead;
            Image.PositionUpdate   = delegate
            {
                Vector2 v2 = Drawing.WorldToMinimap(LastLocation);
                v2.X -= Image.Width / 2f;
                v2.Y -= Image.Height / 2f;
                return(v2);
            };
            Image.Add(_layer);
            LastSeen             = 0;
            LastLocation         = hero.ServerPosition;
            PredictedLocation    = hero.ServerPosition;
            BeforeRecallLocation = hero.ServerPosition;

            Text = new Render.Text(0, 0, "", Program.GetInstance().SsTimerSize.GetValue <Slider>().Value,
                                   SharpDX.Color.White)
            {
                VisibleCondition =
                    sender =>
                    !hero.IsVisible && !Hero.IsDead && Program.GetInstance().SsTimerEnabler.GetValue <bool>() && LastSeen > 20f &&
                    Program.GetInstance().SsTimerMin.GetValue <Slider>().Value <= Game.ClockTime - LastSeen,
                PositionUpdate = delegate
                {
                    Vector2 v2 = Drawing.WorldToMinimap(LastLocation);
                    v2.Y += Program.GetInstance().SsTimerOffset.GetValue <Slider>().Value;
                    return(v2);
                },
                TextUpdate = () => Format(Game.ClockTime - LastSeen),
                OutLined   = true,
                Centered   = true
            };
            Text.Add(_layer);

            _layer++;

            Game.OnGameProcessPacket += Game_OnGameProcessPacket;
        }