public override void Organize(OrganizOrder OrO, Microsoft.Xna.Framework.Vector2 FirstPos) { base.Organize(OrO, FirstPos); switch (OrO) { case OrganizOrder.Ltr: IndexUp = Keys.Right; IndexDown = Keys.Left; break; case OrganizOrder.Rtl: IndexUp = Keys.Left; IndexDown = Keys.Right; break; case OrganizOrder.Utd: IndexUp = Keys.Down; IndexDown = Keys.Up; break; case OrganizOrder.Dtu: IndexUp = Keys.Up; IndexDown = Keys.Down; break; case OrganizOrder.Dig: IndexUp = Keys.Down; IndexDown = Keys.Up; break; default: break; } }
public virtual void Organize(OrganizOrder OrO, Vector2 FirstPos, int Width, int Height) { if (Data.Count == 0) { throw new EmptyCollectionException(); } Data[0].SetPosition(FirstPos); for (int i = 0; i < Data.Count; i++) { switch (OrO) { case OrganizOrder.Ltr: Data[i].SetPosition(new Vector2(FirstPos.X + i * (Width + 10), Data[0].Position.Y)); break; case OrganizOrder.Rtl: Data[i].SetPosition(new Vector2(FirstPos.X - i * (Width + 10), Data[0].Position.Y)); break; case OrganizOrder.Utd: Data[i].SetPosition(new Vector2(Data[0].Position.X, FirstPos.Y + i * (Height + 10))); break; case OrganizOrder.Dtu: Data[i].SetPosition(new Vector2(Data[0].Position.X, FirstPos.Y - i * (Height + 10))); break; } } }
public virtual void Organize(OrganizOrder OrO, Vector2 FirstPos) { if (Data.Count == 0) { throw new EmptyCollectionException(); } Data[0].SetPosition(FirstPos); int Interval = 0; foreach (var item in Data) { switch (OrO) { case OrganizOrder.Ltr: case OrganizOrder.Rtl: Interval = Math.Max(Interval, item.rectangele.Width); break; case OrganizOrder.Utd: case OrganizOrder.Dtu: Interval = Math.Max(Interval, item.rectangele.Height); break; case OrganizOrder.Dig: Interval = Math.Max(Interval, item.rectangele.Height); break; } } for (int i = 0; i < Data.Count; i++) { switch (OrO) { case OrganizOrder.Ltr: Data[i].SetPosition(new Vector2(FirstPos.X + (i * (Interval + 10)), Data[0].Position.Y)); break; case OrganizOrder.Rtl: Data[i].SetPosition(new Vector2(FirstPos.X - i * (Interval + 10), Data[0].Position.Y)); break; case OrganizOrder.Utd: Data[i].SetPosition(new Vector2(Data[0].Position.X, FirstPos.Y + i * (Interval + 10))); break; case OrganizOrder.Dtu: Data[i].SetPosition(new Vector2(Data[0].Position.X, FirstPos.Y - i * (Interval + 10))); break; case OrganizOrder.Dig: Data[i].SetPosition(new Vector2(FirstPos.X + i * (Interval + 10), FirstPos.Y + i * (Interval + 10))); break; } } }