protected virtual void Dispose(bool disposing) { if (Disposed) { return; } if (disposing) { Factory.Dispose(); Renderer.Dispose(); UpdateMode.Dispose(); FamiliarsFollow.Dispose(); FamiliarsLastHit.Dispose(); AutoUsage.Dispose(); FamiliarsLowHP.Dispose(); VisagePlus.Context.Orbwalker.UnregisterMode(Mode); Mode.Deactivate(); VisagePlus.Context.Particle.Dispose(); ComboKeyItem.Item.ValueChanged -= HotkeyChanged; } Disposed = true; }
public Config(VisagePlus visageplus) { VisagePlus = visageplus; Factory = MenuFactory.CreateWithTexture("VisagePlus", "npc_dota_hero_visage"); Factory.Target.SetFontColor(Color.Aqua); var AbilitiesMenu = Factory.Menu("Abilities"); AbilityToggler = AbilitiesMenu.Item("Use: ", new AbilityToggler(new Dictionary <string, bool> { { "visage_summon_familiars_stone_form", true }, { "visage_soul_assumption", true }, { "visage_grave_chill", true } })); var ItemsMenu = Factory.Menu("Items"); ItemsToggler = ItemsMenu.Item("Use: ", new AbilityToggler(new Dictionary <string, bool> { { "item_armlet", true }, { "item_necronomicon_3", true }, { "item_shivas_guard", true }, { "item_dagon_5", true }, { "item_veil_of_discord", true }, { "item_ethereal_blade", true }, { "item_solar_crest", true }, { "item_medallion_of_courage", true }, { "item_rod_of_atos", true }, { "item_bloodthorn", true }, { "item_orchid", true }, { "item_sheepstick", true } })); var LinkenBreakerMenu = Factory.MenuWithTexture("Linken Breaker", "item_sphere"); LinkenBreakerToggler = LinkenBreakerMenu.Item("Use: ", new AbilityToggler(new Dictionary <string, bool> { { "visage_soul_assumption", true }, { "item_sheepstick", true }, { "item_rod_of_atos", true }, { "item_bloodthorn", true }, { "item_orchid", true }, { "item_cyclone", true }, { "item_force_staff", true } })); LinkenBreakerChanger = LinkenBreakerMenu.Item("Priority: ", new PriorityChanger(new List <string> { { "visage_soul_assumption" }, { "item_sheepstick" }, { "item_rod_of_atos" }, { "item_bloodthorn" }, { "item_orchid" }, { "item_cyclone" }, { "item_force_staff" } })); var AntimageBreakerMenu = Factory.MenuWithTexture("Antimage Breaker", "antimage_spell_shield"); AntimageBreakerToggler = AntimageBreakerMenu.Item("Use: ", new AbilityToggler(new Dictionary <string, bool> { { "visage_soul_assumption", true }, { "item_rod_of_atos", true }, { "item_cyclone", true }, { "item_force_staff", true } })); AntimageBreakerChanger = AntimageBreakerMenu.Item("Priority: ", new PriorityChanger(new List <string> { { "visage_soul_assumption" }, { "item_rod_of_atos" }, { "item_cyclone" }, { "item_force_staff" } })); var AutoUsageMenu = Factory.Menu("Auto Usage"); KillStealItem = AutoUsageMenu.Item("Auto Kill Steal", true); KillStealToggler = AutoUsageMenu.Item("Use: ", new AbilityToggler(new Dictionary <string, bool> { { "item_dagon_5", true }, { "visage_soul_assumption", true } })); AutoSoulAssumptionItem = AutoUsageMenu.Item("Auto Soul Assumption", true); var FamiliarsLastHitMenu = Factory.Menu("Familiars Last Hit"); LastHitItem = FamiliarsLastHitMenu.Item("LastHit Key", new KeyBind('W', KeyBindType.Toggle, false)); CommonAttackItem = FamiliarsLastHitMenu.Item("Common Attack", true); var DrawingMenu = Factory.Menu("Drawing"); ComboRadiusItem = DrawingMenu.Item("Combo Stable Radius", true); ComboRadiusItem.Item.SetTooltip("I suggest making a combo in this radius"); ComboKeyItem = Factory.Item("Combo Key", new KeyBind('D')); MinDisInOrbwalk = Factory.Item("Min Distance in OrbWalk", new Slider(0, 0, 600)); FollowKeyItem = Factory.Item("Follow Key", new KeyBind('E', KeyBindType.Toggle, false)); FamiliarsLowHPItem = Factory.Item("Familiars Low HP %", new Slider(30, 0, 80)); BladeMailItem = Factory.Item("Blade Mail Cancel", false); BladeMailItem.Item.SetTooltip("Cancel Combo if there is enemy Blade Mail"); TargetItem = Factory.Item("Target", new StringList("Lock", "Default")); ComboKeyItem.Item.ValueChanged += HotkeyChanged; var Key = KeyInterop.KeyFromVirtualKey((int)ComboKeyItem.Value.Key); Mode = new Mode(VisagePlus.Context, Key, this); VisagePlus.Context.Orbwalker.RegisterMode(Mode); LinkenBreaker = new LinkenBreaker(this); FamiliarsCombo = new FamiliarsCombo(this); FamiliarsFollow = new FamiliarsFollow(this); FamiliarsLastHit = new FamiliarsLastHit(this); FamiliarsLowHP = new FamiliarsLowHP(this); AutoUsage = new AutoUsage(this); UpdateMode = new UpdateMode(this); Renderer = new Renderer(this); }