private void AddSparePeg() { Point spot; LevelEntry[] entries; do { spot = new Point(mRandom.Next(20, 600), mRandom.Next(150, 500)); entries = mLevel.GetObjectsIn(new RectangleF(spot.X - 10, spot.Y - 10, 20, 20)); } while (entries.Length > 0); Circle peg = new Circle(mLevel); peg.X = spot.X; peg.Y = spot.Y; peg.PegInfo = new PegInfo(peg, true, false); mLevel.Entries.Add(peg); }
public void Execute() { int index = 0; float da = 360.0f / (float)mMaxNumberOfPegs; for (float a = mAngularOffset; a < 360 + mAngularOffset; a += da) { float angle = MathExt.ToRadians(a); Circle p = new Circle(Level); p.PegInfo = new PegInfo(p, true, false); p.X = X + ((float)Math.Cos(angle) * mRadiusX); p.Y = Y + ((float)Math.Sin(angle) * mRadiusY); Level.Entries.Add(p); index++; if (index == mNumberOfPegs) break; } Level.Entries.Remove(this); }
public override object Clone() { Circle newCircle = new Circle(Level); base.CloneTo(newCircle); newCircle.mRadius = mRadius; return newCircle; }
private void circleRibbonButton_Click(object sender, EventArgs e) { UnselectAllTools(); btnCircle.Checked = true; Circle circle = new Circle(null); circle.Radius = 20.0f; mParent.SetEditorTool(new DrawEditorTool(circle, false)); }
private void pegRibbonButton_Click(object sender, EventArgs e) { UnselectAllTools(); btnPegTool.Checked = true; Circle circle = new Circle(null); circle.PegInfo = new PegInfo(circle, true, false); mParent.SetEditorTool(new DrawEditorTool(circle, true, 30, 30)); }
private void linkSubMovementsRibbonButton_Click(object sender, EventArgs e) { List<int> links = new List<int>(); foreach (LevelEntry le in LevelEditor.GetSelectedObjects()) { if (le.MovementInfo == null) continue; Movement m = le.MovementInfo.MovementInfo; while (m != null) { links.Add(m.MUID); m = m.MovementInfo; } } foreach (int lidx in links) { Circle lcircle = new Circle(LevelEditor.Level); lcircle.Collision = false; lcircle.Visible = false; lcircle.Radius = 10.0f; lcircle.MovementInfo = new Movement(LevelEditor.Level); lcircle.MovementInfo.MovementLinkIDX = lidx; lcircle.Y = -Level.DrawAdjustY - 50; LevelEditor.Level.Entries.Add(lcircle); } LevelEditor.UpdateRedraw(); }