public void RefreshMeepoList() { // update selected meepo if (Utils.SleepCheck("SelectChecker")) { Variables.SelectedMeepo = ObjectManager.LocalPlayer.Selection.Where(x => x.ClassID == ClassID.CDOTA_Unit_Hero_Meepo).ToList(); } // update meepolist if (!Utils.SleepCheck("MeepoRefresh")) { return; } Utils.Sleep(500, "MeepoRefresh"); Variables.MeepoList = ObjectManager.GetEntities <Meepo>() .Where(x => x.IsValid && !x.IsIllusion() && x.Team == me.Team).ToList(); /*.OrderBy(x => x.Handle)*/ //if (MeepoList.Count >= 1 + me.Spellbook.Spell4.Level + (me.AghanimState() ? 1 : 0)) return; foreach (var meepo in MeepoList) { var handle = meepo.Handle; Variables.OrderState state; Variables.OrderState Laststate; if (!Variables.OrderStates.TryGetValue(handle, out state)) { Variables.OrderStates.Add(handle, Variables.OrderState.Idle); } if (!Variables.LastOrderStates.TryGetValue(handle, out Laststate)) { Variables.LastOrderStates.Add(handle, Variables.OrderState.Idle); } //Ability q, w; if (!Variables.earthBindList.TryGetValue(handle, out earthBind)) { Variables.earthBindList[handle] = new EarthBind(meepo.Spellbook.Spell1); } if (!Variables.poofList.TryGetValue(handle, out poof)) { Variables.poofList[handle] = new Poof(meepo.Spellbook.Spell2); } foreach (var m in MeepoList.Where(m => !Variables.MeepoSet.Any(x => Equals(x.Hero, meepo)))) { Variables.MeepoSet.Add(new MeepoSettings(m)); } } }
public void DrawNumOfMeepos() { if (Variables.MenuManager.DrawingMenu.Item("Drawing.NumOfMeepoInMenu").GetValue <bool>()) { var count = MeepoList.Count(); foreach (var meepo in MeepoList) { var handle = meepo.Handle; count--; var sizeY = HUDInfo.GetHpBarSizeY(); var pos = IconPos + new Vector2(0, IconSize) * count; var textSize = Drawing.MeasureText((count + 1).ToString(CultureInfo.InvariantCulture), "Arial", new Vector2((float)(sizeY * 3), 100), FontFlags.AntiAlias); var textPos = pos - new Vector2(sizeY / 2 + textSize.Y, 0); Drawing.DrawText( (count + 1).ToString(CultureInfo.InvariantCulture), textPos - new Vector2(72, 0), new Vector2((float)(sizeY * 3), 100), Color.White, FontFlags.AntiAlias | FontFlags.StrikeOut); DrawButton(IconPos + new Vector2(0, IconSize) * count, 70, 30, ref MenuIsOpen[count], new Color(0, 155, 255, 150), new Color(0, 0, 0, 100), Variables.OrderStates[handle].ToString(), SelectedMeepo.Contains(meepo)); if (MenuIsOpen[count]) { SelectedId = 0; DrawButton(IconPos + new Vector2(0, IconSize) * count + new Vector2(70, 0), 70, 30, ref SelectedId, 1, new Color(0, 0, 0, 100), Variables.OrderState.Idle.ToString()); DrawButton(IconPos + new Vector2(0, IconSize) * count + new Vector2(70, 30), 70, 30, ref SelectedId, 2, new Color(0, 0, 0, 100), Variables.OrderState.Jungle.ToString()); DrawButton(IconPos + new Vector2(0, IconSize) * count + new Vector2(140, 0), 70, 30, ref SelectedId, 3, new Color(0, 0, 0, 100), Variables.OrderState.Stacking.ToString()); DrawButton(IconPos + new Vector2(0, IconSize) * count + new Vector2(140, 30), 70, 30, ref SelectedId, 4, new Color(0, 0, 0, 100), Variables.OrderState.Laning.ToString()); DrawButton(IconPos + new Vector2(0, IconSize) * count + new Vector2(71 + 70 / 2, 60), 70, 30, ref SelectedId, 5, new Color(0, 0, 0, 100), Variables.OrderState.Escape.ToString()); if (SelectedId != 0) { Variables.OrderStates[handle] = (Variables.OrderState)SelectedId - 1; MenuIsOpen[count] = false; if (Variables.OrderStates[handle] == Variables.OrderState.Escape) { Variables.NeedHeal[handle] = true; } } } if (Variables.MenuManager.DrawingMenu.Item("Drawing.NumOfMeepo").GetValue <bool>()) { var w2SPos = HUDInfo.GetHPbarPosition(meepo); if (w2SPos.X > 0 && w2SPos.Y > 0) { var sizeX = HUDInfo.GetHPBarSizeX(); sizeY = HUDInfo.GetHpBarSizeY(); var text = count + 1; textSize = Drawing.MeasureText(text.ToString(CultureInfo.InvariantCulture), "Arial", new Vector2((float)(sizeY * 3), 100), FontFlags.AntiAlias); textPos = w2SPos + new Vector2(sizeY / 2 + textSize.Y, 0); Drawing.DrawText( text.ToString(CultureInfo.InvariantCulture), textPos + new Vector2(0, -50), new Vector2((float)(sizeY * 3), 100), Color.White, FontFlags.AntiAlias | FontFlags.StrikeOut); } } if (Variables.MenuManager.DrawingMenu.Item("Drawing.NumOfMeepoOnMinimap").GetValue <bool>()) { var w2SPos = WorldToMinimap(meepo.NetworkPosition); sizeY = HUDInfo.GetHpBarSizeY(); var text = count + 1; Drawing.DrawText( text.ToString(CultureInfo.InvariantCulture), w2SPos + new Vector2(-5, -33), new Vector2((float)(sizeY * 3), 100), Color.White, FontFlags.AntiAlias | FontFlags.StrikeOut); } } } }