public void PrzesóńDalej(MenuPodstawa mp) { bool CzyKontynułuj = true; Zaznaczenie = true; PrzesónieciaGdyOtwierasz = new Vector2(0, WielkośćElementu.Y) * (kolekcja.Count - 1); XnaKontrolka OstatniPrzesówany = this, Nadpsiany = null; while (CzyKontynułuj) { CzyKontynułuj = false; foreach (XnaKontrolka item in mp.Lista) { if (item.PrzynależnośćDoInejFigury) { continue; } if (item != OstatniPrzesówany && item.Krawedzie != null && OstatniPrzesówany.Krawedzie != null && OstatniPrzesówany.Krawedzie.Kolizja(item.Krawedzie)) { CzyKontynułuj = true; item.Miejsce += PrzesónieciaGdyOtwierasz; if (!Przesówane.Exists((XnaKontrolka x) => { return(x == item); })) { Przesówane.Add(item); } Nadpsiany = item; } } OstatniPrzesówany = Nadpsiany; } ZmianaZazanczenia += ObsógaPRzesóniećInychMenu; Zaznaczenie = false; }
public void Remove(XnaKontrolka x) { Lista.Remove(x); x.Usówanie(); }
public void Add(XnaKontrolka Kontrolka) { Lista.Add(Kontrolka); Kontrolka.Dodawanie(); }
bool ObsługaMyszki() { if (BlokadaOdczytu) { return(true); } MouseState m = Mouse.GetState(); MiejsceMyszki = new Vector2(m.X, m.Y); Vector2 Min = Vector2.Zero, Max = Vector2.Zero; if (m.LeftButton == ButtonState.Pressed) { if (ByłKlikniety) { Vector2 c = MiejsceDawnegoKlikniecia; c.X -= m.X; c.Y -= m.Y; float Długośc = c.Length(); if (c.Length() > 2) { Min = MiejsceDawnegoKlikniecia; Max = MiejsceMyszki; try { UżywanieKotrolekPoKwadracie(new EventPrzesuniecie(MiejsceDawnegoKlikniecia.X, MiejsceDawnegoKlikniecia.Y, MiejsceMyszki.X, MiejsceMyszki.Y), Min, Max); } catch (Exception e) { } MiejsceDawnegoKlikniecia = new Vector2(m.X, m.Y); ByłPrzesówany = true; } } else { ByłKlikniety = true; MiejsceDawnegoKlikniecia = new Vector2(m.X, m.Y); } } else { if (ByłKlikniety) { if (!ByłPrzesówany) { Vector2 c = MiejsceDawnegoKlikniecia; c.X -= m.X; c.Y -= m.Y; if (c.Length() < 6) { try { UżywanieKotrolekPoPunkcie(new EventKlikniety(MiejsceDawnegoKlikniecia.X, MiejsceDawnegoKlikniecia.Y), MiejsceDawnegoKlikniecia); } catch (Exception e) { } } } ByłKlikniety = false; } else { bool b = true; foreach (XnaKontrolka item in Lista) { if (item.KolizjaZawsze(MiejsceMyszki) && !item.BezWielkości) { if (item == ZaznaczonaKontrolkaMyszką) { b = false; break; } b = false; if (ZaznaczonaKontrolkaMyszką != null) { ZaznaczonaKontrolkaMyszką.Puść(MiejsceMyszki); } item.PoczotekTrzymanaMyszką(MiejsceMyszki); ZaznaczonaKontrolkaMyszką = item; } } if (ZaznaczonaKontrolkaMyszką != null && b) { ZaznaczonaKontrolkaMyszką.Puść(MiejsceMyszki); ZaznaczonaKontrolkaMyszką = null; } ByłKlikniety = false; ByłPrzesówany = false; } } return(true); }
public float LenghtToObject(XnaKontrolka X) { return((X.Miejsce - Miejsce).Length()); }