public override void UpdateLayout() { //while (!layoutIsValid) //{ //if (!(sizeIsValid && positionIsValid)) base.UpdateLayout(); //if (!base.layoutIsValid) // return; currentXForWidget = ClientRectangle.X; currentYForWidget = ClientRectangle.Y; highestWidget = 0; largestWidget = 0; Rectangle contentBounds = Rectangle.Zero; GraphicObject[] widgets = new GraphicObject[Children.Count]; Children.CopyTo(widgets); foreach (GraphicObject w in widgets) { if (w.renderBounds.Width > largestWidget) largestWidget = w.renderBounds.Width; if (w.renderBounds.Height > highestWidget) highestWidget = w.renderBounds.Height; if (!enoughtSpaceForWidget(w)) advance(w); if (enoughtSpaceForWidget(w)) { w.renderBounds.X = currentXForWidget; w.renderBounds.Y = currentYForWidget; w.positionIsValid = true; contentBounds += w.renderBounds; advance(w); } else break; } contentBounds.Width += BorderWidth + Margin; contentBounds.Height += BorderWidth + Margin; if (SizeToContent) renderBounds.Size = contentBounds.Size; else if (VerticalScrolling) renderBounds.Size = new Size(renderBounds.Size.Width, contentBounds.Size.Height); else if (HorizontalScrolling) renderBounds.Size = new Size(contentBounds.Size.Width, renderBounds.Size.Height); if (layoutIsValid) registerForRedraw(); }
void Dv_SelectedItemChanged(object sender, SelectionChangeEventArgs e) { FileSystemInfo fi = e.NewValue as FileSystemInfo; if (fi == null) { return; } lock (this.ifaceControl [0].CrowInterface.UpdateMutex) { GraphicObject g = this.ifaceControl [0].CrowInterface.Load(fi.FullName); crowContainer.SetChild(g); g.DataSource = this; } string source = ""; using (Stream s = new FileStream(fi.FullName, FileMode.Open)) { using (StreamReader sr = new StreamReader(s)) { source = sr.ReadToEnd(); } } NotifyValueChanged("source", source); }
public override void Intersection(Collision c, GraphicObject g) { base.Intersection(c, g); switch (g.OT) { case ObjectType.OT_BlockQuestion: { int a = 1; } break; case ObjectType.OT_Goomba: { DirX *= -1; OnWalk(null, null); ((MonsterGoomba)g).DirX *= -1; ((MonsterGoomba)g).OnWalk(null, null); } break; case ObjectType.OT_Mario: { Mario m = (Mario)g; if (c.Dir != CollisionDirection.CD_Down) { if (!m.Blinking) { if (m.Type == Mario.MarioType.MT_Big || m.Type == Mario.MarioType.MT_Fire) { m.Type = Mario.MarioType.MT_Small; m.StartBlinking(); m.SetMarioProperties(); } } } } break; } }
public void ChangeZoomMWidtht(double newZoom, float newMWidth) { checked { try { IEnumerator enumerator = this.m_GObjs.GetEnumerator(); while (enumerator.MoveNext()) { GraphicObject graphicObject = (GraphicObject)enumerator.Current; PointF[] points = graphicObject.GetPoints(); float num = (float)(this.m_Zoom / newZoom); num = Conversions.ToSingle(Operators.MultiplyObject(num, Interaction.IIf(this.m_MWidth > 0f, newMWidth / this.m_MWidth, 1))); Matrix matrix = new Matrix(); matrix.Reset(); matrix.Scale(num, num, MatrixOrder.Append); matrix.TransformPoints(points); int arg_8C_0 = 0; int upperBound = points.GetUpperBound(0); for (int i = arg_8C_0; i <= upperBound; i++) { graphicObject.MoveNodeTo(i, points[i]); } } } finally { IEnumerator enumerator; if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } this.m_Zoom = newZoom; this.m_MWidth = newMWidth; } }
public void ToString_CreateCompositeObjects_ValidateDepth() { var objects = new GraphicObject(); objects.Children.Add(new Circle() { Color = "Blue" }); objects.Children.Add(new Square() { Color = "Red" }); var group = new GraphicObject(); group.Children.Add(new Circle() { Color = "Black" }); group.Children.Add(new Square() { Color = "Black" }); objects.AddChild(group); var result = objects.ToString(); var expectedOutput = @"Group *Blue Circle *Red Square *Group **Black Circle **Black Square "; Assert.That(result, Is.EqualTo(expectedOutput)); }
public static void Run() { var drawing = new GraphicObject { Name = "My Drawing" }; drawing.Children.Add(new Square { Color = "Red" }); drawing.Children.Add(new Circle { Color = "Yellow" }); var group = new GraphicObject(); group.Children.Add(new Circle { Color = "Blue" }); group.Children.Add(new Square { Color = "Blue" }); drawing.Children.Add(group); Console.WriteLine(drawing); var neuron1 = new Neuron(); var neuron2 = new Neuron(); neuron1.ConnectTo(neuron2); // 1 var layer1 = new NeuronLayer(); var layer2 = new NeuronLayer(); neuron1.ConnectTo(layer1); layer1.ConnectTo(layer2); }
public static Zone LoadGameInventory(int num) { List <GraphicObject> bus = new List <GraphicObject>(); GraphicObject bu; //inv slots for (int i = 0; i < num; i++) { bu = new GraphicObject(new GameDetails(i * _size, 600 - _size, _size, _size)); bu.Priority = 1; bu.Name = "game_inv|invslot"; bus.Add(bu); } //holding slot GraphicObject bu1 = new GraphicObject(new GameDetails(800 - _size, 600 - _size, _size, _size)); bu1.Priority = 1; bu1.Name = "game_inv|invslot"; bus.Add(bu1); Zone zn = new Zone(new GameDetails(0, 600 - _size, _size * num, _size), bus, 0, 5); zn.Priority = 2; return(zn); }
public override void Intersection(Collision c, GraphicObject g) { base.Intersection(c, g); switch (g.OT) { case ObjectType.OT_Mario: { // Handle collision with Mario if (Move != PiranaMove.PM_None) // Only if the pirana is out of its pipe { if (c.Dir != CollisionDirection.CD_Down) { Mario m = (Mario)g; if (!m.Blinking) { m.MarioHandleCollision(); } } } break; } } }
public void ChangeRoot(AxMap pMap, double newGocX, double newGocY) { float num = (float)(pMap.Zoom / this.m_Zoom); num = Conversions.ToSingle(Operators.MultiplyObject(num, Interaction.IIf(this.m_MWidth > 0f, this.m_MWidth / pMap.MapScreenWidth, 1))); float num2; float num3; pMap.ConvertCoord(ref num2, ref num3, ref this.m_GocX, ref this.m_GocY, ConversionConstants.miMapToScreen); float num4; float num5; pMap.ConvertCoord(ref num4, ref num5, ref newGocX, ref newGocY, ConversionConstants.miMapToScreen); this.m_GocX = newGocX; this.m_GocY = newGocY; PointF toPt = new PointF(num2 * num, num3 * num); PointF fromPt = new PointF(num4 * num, num5 * num); try { IEnumerator enumerator = this.m_GObjs.GetEnumerator(); while (enumerator.MoveNext()) { GraphicObject graphicObject = (GraphicObject)enumerator.Current; graphicObject.Move(fromPt, toPt); } } finally { IEnumerator enumerator; if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } }
public override void Intersection(Collision c, GraphicObject g) { base.Intersection(c, g); switch (g.OT) { case ObjectType.OT_SolidBlock: goto case ObjectType.OT_PipeUp; case ObjectType.OT_BlockQuestion: goto case ObjectType.OT_Grass; case ObjectType.OT_Brick: goto case ObjectType.OT_Grass; case ObjectType.OT_Grass: { StartFireBall(); } break; case ObjectType.OT_PipeUp: { Started = false; Visible = false; } break; case ObjectType.OT_Goomba: { if (Type == FireBallType.FT_Mario) { ((MonsterGoomba)g).GoombaFallDie(); Started = false; Visible = false; } } break; case ObjectType.OT_Koopa: { if (Type == FireBallType.FT_Mario) { ((MonsterKoopa)g).SetKoopaState(MonsterKoopa.KoopaState.KS_Shield); Started = false; Visible = false; } } break; case ObjectType.OT_Pirana: { if (Type == FireBallType.FT_Mario && ((MonsterPiranah)g).Move != MonsterPiranah.PiranaMove.PM_None) // Only kill pirana if it's out of its pipe { ((MonsterPiranah)g).Visible = false; ((MonsterPiranah)g).Live = false; } } break; // Handle fireball hitting Mario case ObjectType.OT_Mario: { if (Type != FireBallType.FT_Mario) // Make sure it isn't Mario's fireball { Mario m = (Mario)g; if (!m.Blinking) { if (m.Type == Mario.MarioType.MT_Big || m.Type == Mario.MarioType.MT_Fire) { m.Type = Mario.MarioType.MT_Small; m.StartBlinking(); m.SetMarioProperties(); } } } } break; } }
public override void Intersection(Collision c, GraphicObject g) { base.Intersection(c, g); switch (g.OT) { case ObjectType.OT_Brick: { if (State == KoopaState.KS_ShieldMoving) { if (c.Dir == CollisionDirection.CD_Left || c.Dir == CollisionDirection.CD_Right) { ((BlockBrick)g).BreakBrick(); } } } break; case ObjectType.OT_Goomba: { if (State == KoopaState.KS_ShieldMoving) { ((MonsterGoomba)g).GoombaFallDie(); } if (State == KoopaState.KS_Walking) { ((MonsterGoomba)g).DirX *= -1; ((MonsterGoomba)g).newx += 5 * ((MonsterGoomba)g).DirX; ((MonsterGoomba)g).OnWalk(null, null); DirX *= -1; OnWalk(null, null); } if (State == KoopaState.KS_Shield) { ((MonsterGoomba)g).DirX *= -1; ((MonsterGoomba)g).newx += 5 * ((MonsterGoomba)g).DirX; ((MonsterGoomba)g).OnWalk(null, null); } } break; case ObjectType.OT_Mario: { if (State == KoopaState.KS_Shield && ReturningTime >= 3) { if (c.Dir == CollisionDirection.CD_Left) { DirX = -1; } if (c.Dir == CollisionDirection.CD_Right) { DirX = 1; } SetKoopaState(KoopaState.KS_ShieldMoving); } // Size-down mario when colliding with a koopa if (State != KoopaState.KS_Shield) // but not in shield state { if (!(State == KoopaState.KS_ShieldMoving && // Or that he's just set in motion (DirX == -1 && c.Dir == CollisionDirection.CD_Left) || (DirX == 1 && c.Dir == CollisionDirection.CD_Right))) { Mario m = (Mario)g; if (c.Dir != CollisionDirection.CD_Down) { if (!m.Blinking) { if (m.Type == Mario.MarioType.MT_Big || m.Type == Mario.MarioType.MT_Fire) { m.Type = Mario.MarioType.MT_Small; m.StartBlinking(); m.SetMarioProperties(); } } } } } break; } } }
public override void UpdateLayout() { //while (!layoutIsValid) //{ //if (!(sizeIsValid && positionIsValid)) base.UpdateLayout(); //if (!base.layoutIsValid) // return; currentXForWidget = ClientRectangle.X; currentYForWidget = ClientRectangle.Y; highestWidget = 0; largestWidget = 0; Rectangle contentBounds = Rectangle.Zero; GraphicObject[] widgets = new GraphicObject[Children.Count]; Children.CopyTo(widgets); foreach (GraphicObject w in widgets) { if (w.renderBounds.Width > largestWidget) { largestWidget = w.renderBounds.Width; } if (w.renderBounds.Height > highestWidget) { highestWidget = w.renderBounds.Height; } if (!enoughtSpaceForWidget(w)) { advance(w); } if (enoughtSpaceForWidget(w)) { w.renderBounds.X = currentXForWidget; w.renderBounds.Y = currentYForWidget; w.positionIsValid = true; contentBounds += w.renderBounds; advance(w); } else { break; } } contentBounds.Width += BorderWidth + Margin; contentBounds.Height += BorderWidth + Margin; if (SizeToContent) { renderBounds.Size = contentBounds.Size; } else if (VerticalScrolling) { renderBounds.Size = new Size(renderBounds.Size.Width, contentBounds.Size.Height); } else if (HorizontalScrolling) { renderBounds.Size = new Size(contentBounds.Size.Width, renderBounds.Size.Height); } if (layoutIsValid) { registerForRedraw(); } }
public override void Intersection(Collision c, GraphicObject g) { base.Intersection(c, g); switch (g.OT) { case ObjectType.OT_Exit: { if (EnterPressed) { EnterPressed = false; Moving = false; MoveState = MarioMoveState.J_None; //OnLevelCompleted?.Invoke(); //StartJump(true, 0); System.Windows.Forms.DialogResult dialog = System.Windows.Forms.MessageBox.Show("You won"); if (dialog == System.Windows.Forms.DialogResult.OK) { System.Windows.Forms.Application.Exit(); } StopMove(); } break; } case ObjectType.OT_Goomba: { if (c.Dir == CollisionDirection.CD_Up) { if (((Monster)g).FallDie == false) // Jump On Goomba with Up Presses { if (UpPressed) { StartJump(true, 0); } else { StartJump(true, -20); } ((Monster)g).GoombaDie(); } } if (c.Dir == CollisionDirection.CD_Left) { Globals.setDeathPositionX(x); Globals.deathPositionY = y; //System.Windows.Forms.MessageBox.Show("X : " + Globals.deathPositionX + " Y : " + Globals.deathPositionY); } break; } case ObjectType.OT_MovingBlock: goto case ObjectType.OT_Grass; case ObjectType.OT_SolidBlock: goto case ObjectType.OT_Grass; case ObjectType.OT_PipeUp: goto case ObjectType.OT_Grass; case ObjectType.OT_BlockQuestion: goto case ObjectType.OT_Grass; case ObjectType.OT_BlockQuestionHidden: goto case ObjectType.OT_Grass; case ObjectType.OT_Brick: goto case ObjectType.OT_Grass; case ObjectType.OT_Grass: { SetDirections(); if (c.Dir == CollisionDirection.CD_TopLeft) { if (g.OT == ObjectType.OT_Brick) { //if (MoveState == MarioMoveState.J_Right) // x -= (int)XAdd; //if (MoveState == MarioMoveState.J_Left) // x += (int)XAdd; //Intersection_None(); } } if (c.Dir == CollisionDirection.CD_Up) { if (g.OT == ObjectType.OT_MovingBlock) { this.y = g.newy - this.height; } else { if (State != MarioJumpState.J_None) { this.y = g.newy - this.height; } } if (State != MarioJumpState.J_None) { State = MarioJumpState.J_None; } SetDirections(); } if (c.Dir == CollisionDirection.CD_Left) { this.x = g.newx - width; //if (g.OT == ObjectType.OT_SolidBlock) // Intersection_None(); if (g.OT == ObjectType.OT_Brick) { //if (MoveState == MarioMoveState.J_Right) // x -= (int)XAdd; //if (MoveState == MarioMoveState.J_Left) // x += (int)XAdd; StartJump(true, 0); this.x = g.newx - width; } } if (c.Dir == CollisionDirection.CD_Down) { if (State == MarioJumpState.J_Up) { State = MarioJumpState.JDown; StartPosition = y; TimeCount = 0; StartVelocity = 0; if (g.OT == ObjectType.OT_Brick) { if (Type == MarioType.MT_Big || Type == MarioType.MT_Fire) { ((Block)g).BreakBrick(); } else { } } } } if (c.Dir == CollisionDirection.CD_Right) { this.x = g.newx + g.width; //if (g.OT == ObjectType.OT_SolidBlock) // Intersection_None(); //XAdd = 0; } break; } } }
protected override void OnLoad (EventArgs e) { base.OnLoad (e); g = LoadInterface("Interfaces/test0.goml"); l = g.FindByName ("labCpt") as Label; }
private void khs2xml(AxMap pMap, ref XmlTextWriter wr) { wr.WriteStartElement("KyHieus"); wr.WriteAttributeString("CX", pMap.CenterX.ToString("#.0000")); wr.WriteAttributeString("CY", pMap.CenterY.ToString("#.0000")); wr.WriteAttributeString("Zoom", pMap.Zoom.ToString()); checked { try { IEnumerator enumerator = this.List.GetEnumerator(); while (enumerator.MoveNext()) { CSymbol mKH = (CSymbol)enumerator.Current; wr.WriteStartElement("KyHieu"); bool flag = mKH.Description.Length > 0; if (flag) { wr.WriteAttributeString("Desc", mKH.Description); } flag = mKH.Blinking; if (flag) { wr.WriteAttributeString("Blink", mKH.Blinking.ToString()); } wr.WriteAttributeString("Zoom", mKH.Zoom.ToString()); wr.WriteAttributeString("MWi", mKH.MWidth.ToString()); wr.WriteAttributeString("GocX", mKH.GocX.ToString("#.0000")); wr.WriteAttributeString("GocY", mKH.GocY.ToString("#.0000")); try { IEnumerator enumerator2 = mKH.GObjs.GetEnumerator(); while (enumerator2.MoveNext()) { GraphicObject mPart = (GraphicObject)enumerator2.Current; wr.WriteStartElement("Part"); OBJECTTYPE mType = mPart.GetObjType(); wr.WriteAttributeString("Type", mType.ToString()); flag = (mType == OBJECTTYPE.Text); if (flag) { TextGraphic mTextObj = (TextGraphic)mPart; wr.WriteAttributeString("Text", mTextObj.Text); wr.WriteAttributeString("FName", mTextObj.Font.Name); wr.WriteAttributeString("FSize", mTextObj.Font.Size.ToString()); wr.WriteAttributeString("FStyle", mTextObj.Font.Style.ToString()); wr.WriteAttributeString("FColor", Conversions.ToString(mTextObj.Color.ToArgb())); wr.WriteStartElement("Pos"); wr.WriteAttributeString("X", mTextObj.X.ToString()); wr.WriteAttributeString("Y", mTextObj.Y.ToString()); wr.WriteAttributeString("A", mTextObj.Rotation.ToString()); wr.WriteEndElement(); } else { flag = (mType == OBJECTTYPE.Table); if (flag) { TableGraphic mTableObj = (TableGraphic)mPart; wr.WriteStartElement("TBL"); wr.WriteAttributeString("X", mTableObj.X.ToString()); wr.WriteAttributeString("Y", mTableObj.Y.ToString()); wr.WriteAttributeString("W", mTableObj.Width.ToString()); wr.WriteAttributeString("H", mTableObj.Height.ToString()); wr.WriteAttributeString("A", mTableObj.Rotation.ToString()); wr.WriteAttributeString("Cols", mTableObj.ColsNo.ToString()); wr.WriteAttributeString("Rows", mTableObj.RowsNo.ToString()); wr.WriteAttributeString("BColor", Conversions.ToString(mTableObj.BorderColor.ToArgb())); wr.WriteAttributeString("BWidth", mTableObj.BorderWidth.ToString()); wr.WriteAttributeString("LColor", Conversions.ToString(mTableObj.LineColor.ToArgb())); wr.WriteAttributeString("LWidth", mTableObj.LineWidth.ToString()); wr.WriteAttributeString("FiColor", Conversions.ToString(mTableObj.FiColor.ToArgb())); string str = Conversions.ToString(mTableObj.AWidth[0]); int arg_47A_0 = 1; int num = mTableObj.ColsNo - 1; int i = arg_47A_0; while (true) { int arg_4A4_0 = i; int num2 = num; if (arg_4A4_0 > num2) { break; } str = str + "|" + Conversions.ToString(mTableObj.AWidth[i]); i++; } wr.WriteAttributeString("AWS", str); str = Conversions.ToString(mTableObj.AHeight[0]); int arg_4CF_0 = 1; int num3 = mTableObj.RowsNo - 1; i = arg_4CF_0; while (true) { int arg_4F9_0 = i; int num2 = num3; if (arg_4F9_0 > num2) { break; } str = str + "|" + Conversions.ToString(mTableObj.AHeight[i]); i++; } wr.WriteAttributeString("AHS", str); i = 0; try { IEnumerator enumerator3 = mTableObj.Cells.GetEnumerator(); while (enumerator3.MoveNext()) { CCell mCell = (CCell)enumerator3.Current; i++; wr.WriteStartElement("Cell"); wr.WriteAttributeString("iR", mCell.iRow.ToString()); wr.WriteAttributeString("iC", mCell.iCol.ToString()); wr.WriteAttributeString("RNo", mCell.RowsNo.ToString()); wr.WriteAttributeString("CNo", mCell.ColsNo.ToString()); wr.WriteAttributeString("Text", mCell.Text); wr.WriteAttributeString("FName", mCell.Font.Name); wr.WriteAttributeString("FSize", mCell.Font.Size.ToString()); wr.WriteAttributeString("FStyle", mCell.Font.Style.ToString()); wr.WriteAttributeString("Color", Conversions.ToString(mCell.Color.ToArgb())); wr.WriteElementString("i", i.ToString()); wr.WriteEndElement(); } } finally { IEnumerator enumerator3; flag = (enumerator3 is IDisposable); if (flag) { (enumerator3 as IDisposable).Dispose(); } } wr.WriteEndElement(); } else { flag = (mType == OBJECTTYPE.EmbeddedImage); if (flag) { EmbeddedImageGraphic mImageObj = (EmbeddedImageGraphic)mPart; wr.WriteAttributeString("ITYPE", mImageObj.ImageType); wr.WriteAttributeString("IMAGEW", mImageObj.Width.ToString()); wr.WriteAttributeString("IMAGEH", mImageObj.Height.ToString()); string strImage = ""; string imageType = mImageObj.ImageType; if (Operators.CompareString(imageType, "wmf", false) == 0 || Operators.CompareString(imageType, "emf", false) == 0) { goto IL_74D; } if (Operators.CompareString(imageType, "kro", false) == 0) { goto IL_74D; } bool arg_74E_0 = false; IL_74E: flag = arg_74E_0; if (flag) { try { object mFileName = "tmp2.kro"; Image mMetaFile = mImageObj.Image; mMetaFile.Save(Conversions.ToString(mFileName)); byte[] arrImageByte = this.GetarrImage(Conversions.ToString(mFileName)); strImage = Convert.ToBase64String(arrImageByte); } catch (Exception expr_78D) { ProjectData.SetProjectError(expr_78D); Exception ex = expr_78D; Interaction.MsgBox("kro sai: " + ex.Message, MsgBoxStyle.OkOnly, null); ProjectData.ClearProjectError(); } } else { MemoryStream memStream = new MemoryStream(); mImageObj.Image.Save(memStream, ImageFormat.Bmp); strImage = Convert.ToBase64String(memStream.ToArray()); } wr.WriteAttributeString("IMAGE", strImage); wr.WriteStartElement("Pos"); wr.WriteAttributeString("X", mImageObj.X.ToString()); wr.WriteAttributeString("Y", mImageObj.Y.ToString()); wr.WriteAttributeString("A", mImageObj.Rotation.ToString()); wr.WriteEndElement(); goto IL_CDF; IL_74D: arg_74E_0 = true; goto IL_74E; } ShapeGraphic mShapeObj = (ShapeGraphic)mPart; wr.WriteAttributeString("Color", Conversions.ToString(mShapeObj.LineColor.ToArgb())); wr.WriteAttributeString("Width", mShapeObj.LineWidth.ToString()); flag = (mShapeObj.LineStyle > 0); if (flag) { wr.WriteAttributeString("Style", mShapeObj.LineStyle.ToString()); wr.WriteAttributeString("SWidth", mShapeObj.StyleWidth.ToString()); } flag = (mShapeObj.Line2Width > 0f); if (flag) { wr.WriteAttributeString("Color2", Conversions.ToString(mShapeObj.Line2Color.ToArgb())); wr.WriteAttributeString("Width2", mShapeObj.Line2Width.ToString()); } flag = (mShapeObj.DValues.Length > 6); if (flag) { wr.WriteAttributeString("DV", mShapeObj.DValues); } flag = mShapeObj.Fill; if (flag) { wr.WriteAttributeString("Fill", mShapeObj.Fill.ToString()); wr.WriteAttributeString("FColor", Conversions.ToString(mShapeObj.FillColor.ToArgb())); wr.WriteAttributeString("HColor", Conversions.ToString(mShapeObj.HatchColor.ToArgb())); wr.WriteAttributeString("HStyle", mShapeObj.HatchStyle.ToString()); } flag = (mType == OBJECTTYPE.Ellipse); if (flag) { EllipseGraphic mEllipseObj = (EllipseGraphic)mShapeObj; wr.WriteStartElement("Rect"); wr.WriteAttributeString("X", mEllipseObj.X.ToString()); wr.WriteAttributeString("Y", mEllipseObj.Y.ToString()); wr.WriteAttributeString("W", mEllipseObj.Width.ToString()); wr.WriteAttributeString("H", mEllipseObj.Height.ToString()); wr.WriteAttributeString("A", mEllipseObj.Rotation.ToString()); wr.WriteEndElement(); } else { flag = (mType == OBJECTTYPE.Pie); if (flag) { PieGraphic mPieObj = (PieGraphic)mShapeObj; wr.WriteStartElement("Pie"); wr.WriteAttributeString("X", mPieObj.X.ToString()); wr.WriteAttributeString("Y", mPieObj.Y.ToString()); wr.WriteAttributeString("W", mPieObj.Width.ToString()); wr.WriteAttributeString("H", mPieObj.Height.ToString()); wr.WriteAttributeString("ST", mPieObj.StartAngle.ToString()); wr.WriteAttributeString("SW", mPieObj.SweepAngle.ToString()); flag = mPieObj.IsArc; if (flag) { wr.WriteAttributeString("ARC", mPieObj.IsArc.ToString()); } wr.WriteAttributeString("A", mPieObj.Rotation.ToString()); wr.WriteEndElement(); } else { int i = 0; NodesShapeGraphic mNodesShapeObj = (NodesShapeGraphic)mShapeObj; try { IEnumerator enumerator4 = mNodesShapeObj.Nodes.GetEnumerator(); while (enumerator4.MoveNext()) { CNODE mNode = (CNODE)enumerator4.Current; i++; wr.WriteStartElement("Node"); wr.WriteAttributeString("X", mNode.Pt.X.ToString()); wr.WriteAttributeString("Y", mNode.Pt.Y.ToString()); flag = mNode.IsControl; if (flag) { wr.WriteAttributeString("Type", mNode.IsControl.ToString()); } wr.WriteElementString("i", i.ToString()); wr.WriteEndElement(); } } finally { IEnumerator enumerator4; flag = (enumerator4 is IDisposable); if (flag) { (enumerator4 as IDisposable).Dispose(); } } } } } } IL_CDF: wr.WriteEndElement(); } } finally { IEnumerator enumerator2; flag = (enumerator2 is IDisposable); if (flag) { (enumerator2 as IDisposable).Dispose(); } } wr.WriteEndElement(); } } finally { IEnumerator enumerator; bool flag = enumerator is IDisposable; if (flag) { (enumerator as IDisposable).Dispose(); } } wr.WriteEndElement(); } }
public static void Run() { var root = new GraphicObject() { Name = "Root" }; root.Children.Add(new Circle() { Color = "Red" }); root.Children.Add(new Square() { Color = "Green" }); var subSquareGroup = new Square() { Name = "1St Sub Square", Color = "Yellow" }; var magentaCircle = new Circle() { Name = "MY Circle", Color = "Magenta" }; var greenCircle = new Circle() { Name = "Circle", Color = "Green" }; magentaCircle.Children.Add(new Circle() { Name = "Circle 33", Color = "Golden" }); magentaCircle.Children.Add(new Circle() { Name = "Circle 22", Color = "Red" }); magentaCircle.Children.Add(new Square() { Name = "Square 43", Color = "Green", Children = { new Circle() { Name = "Sub3 Circle", Color = "DarkBlue" }, new Square() { Name = "Sub3 Square 52", Color = "ShinyGreen" }, } }); magentaCircle.Children.Add(new Circle() { Name = "Circle 53", Color = "Yellow" }); magentaCircle.Children.Add(new Circle() { Name = "Circle 34", Color = "DarkOrange" }); subSquareGroup.Children.Add(magentaCircle); root.Children.Add(subSquareGroup); root.Children.Add(greenCircle); Console.WriteLine(root); /* * Result * Root |-> Red Circle |-> Green Square |-> Yellow Square ||-> Magenta Circle |||-> Golden Circle |||-> Red Circle |||-> Green Square ||||-> DarkBlue Circle ||||-> ShinyGreen Square |||-> Yellow Circle |||-> DarkOrange Circle |-> Green Circle */ Console.WriteLine(subSquareGroup); }
public void VeBound(AxMap pMap, Graphics g, Color Color) { float num = (float)(this.m_Zoom / pMap.Zoom); num = Conversions.ToSingle(Operators.MultiplyObject(num, Interaction.IIf(this.m_MWidth > 0f, pMap.MapScreenWidth / this.m_MWidth, 1))); float dx; float dy; pMap.ConvertCoord(ref dx, ref dy, ref this.m_GocX, ref this.m_GocY, ConversionConstants.miMapToScreen); GraphicsContainer container = g.BeginContainer(); g.TranslateTransform(dx, dy); g.ScaleTransform(num, num); float left; float top; float right; float bottom; try { IEnumerator enumerator = this.m_GObjs.GetEnumerator(); while (enumerator.MoveNext()) { GraphicObject graphicObject = (GraphicObject)enumerator.Current; RectangleF bounds = graphicObject.GetBounds(); if (bounds.Left < left) { left = bounds.Left; } if (bounds.Top < top) { top = bounds.Top; } if (bounds.Right > right) { right = bounds.Right; } if (bounds.Bottom > bottom) { bottom = bounds.Bottom; } } } finally { IEnumerator enumerator; if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } Pen pen = new Pen(Color.Black); pen.DashStyle = DashStyle.Dot; pen.Width = 2f; pen.Color = Color.White; Pen arg_175_1 = pen; checked { System.Drawing.Rectangle rect = new System.Drawing.Rectangle((int)Math.Round((double)left), (int)Math.Round((double)top), (int)Math.Round((double)(unchecked (right - left))), (int)Math.Round((double)(unchecked (bottom - top)))); g.DrawRectangle(arg_175_1, rect); pen.Width = 1f; pen.Color = Color; Pen arg_1C5_1 = pen; rect = new System.Drawing.Rectangle((int)Math.Round((double)left), (int)Math.Round((double)top), (int)Math.Round((double)(unchecked (right - left))), (int)Math.Round((double)(unchecked (bottom - top)))); g.DrawRectangle(arg_1C5_1, rect); pen.Dispose(); g.EndContainer(container); } }
public RectangleF GetBounds(AxMap pMap) { float num = (float)(this.m_Zoom / pMap.Zoom); num = Conversions.ToSingle(Operators.MultiplyObject(num, Interaction.IIf(this.m_MWidth > 0f, pMap.MapScreenWidth / this.m_MWidth, 1))); float offsetX; float offsetY; pMap.ConvertCoord(ref offsetX, ref offsetY, ref this.m_GocX, ref this.m_GocY, ConversionConstants.miMapToScreen); Matrix matrix = new Matrix(); matrix.Translate(offsetX, offsetY); matrix.Scale(num, num); float left; float top; float right; float bottom; try { IEnumerator enumerator = this.m_GObjs.GetEnumerator(); while (enumerator.MoveNext()) { GraphicObject graphicObject = (GraphicObject)enumerator.Current; RectangleF bounds = graphicObject.GetBounds(); if (bounds.Left < left) { left = bounds.Left; } if (bounds.Top < top) { top = bounds.Top; } if (bounds.Right > right) { right = bounds.Right; } if (bounds.Bottom > bottom) { bottom = bounds.Bottom; } } } finally { IEnumerator enumerator; if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } PointF[] array = new PointF[4]; array[0] = new PointF(left, top); array[1] = new PointF(right, top); array[2] = new PointF(right, bottom); array[3] = new PointF(left, bottom); matrix.TransformPoints(array); matrix.Dispose(); PointF[] array2 = new PointF[2]; array2[0].X = Math.Min(Math.Min(Math.Min(array[0].X, array[1].X), array[2].X), array[3].X); array2[0].Y = Math.Min(Math.Min(Math.Min(array[0].Y, array[1].Y), array[2].Y), array[3].Y); array2[1].X = Math.Max(Math.Max(Math.Max(array[0].X, array[1].X), array[2].X), array[3].X); array2[1].Y = Math.Max(Math.Max(Math.Max(array[0].Y, array[1].Y), array[2].Y), array[3].Y); System.Drawing.Rectangle r = checked (new System.Drawing.Rectangle((int)Math.Round((double)array2[0].X), (int)Math.Round((double)array2[0].Y), (int)Math.Round((double)(unchecked (array2[1].X - array2[0].X))), (int)Math.Round((double)(unchecked (array2[1].Y - array2[0].Y))))); return(r); }
void openOptionsDialog() { GraphicObject ed = this.FindByName("editor"); Load("#CrowEdit.ui.EditorOptions.crow").DataSource = ed; }
public bool ProcessMouseMove(int x, int y) { int deltaX = x - imlVE.Mouse.X; int deltaY = y - imlVE.Mouse.Y; imlVE.Mouse.X = x; imlVE.Mouse.Y = y; MouseMoveEventArgs e = new MouseMoveEventArgs(x, y, deltaX, deltaY); e.Mouse = imlVE.Mouse; if (imlVE.ActiveWidget != null) { //TODO, ensure object is still in the graphic tree //send move evt even if mouse move outside bounds imlVE.ActiveWidget.onMouseMove(this, e); return(true); } if (imlVE.HoverWidget != null) { //TODO, ensure object is still in the graphic tree //check topmost graphicobject first GraphicObject tmp = imlVE.HoverWidget; GraphicObject topc = null; while (tmp is GraphicObject) { topc = tmp; tmp = tmp.LogicalParent as GraphicObject; } int idxhw = imlVE.GraphicTree.IndexOf(topc); if (idxhw != 0) { int i = 0; while (i < idxhw) { if (imlVE.GraphicTree [i].LogicalParent == imlVE.GraphicTree [i].Parent) { if (imlVE.GraphicTree [i].MouseIsIn(e.Position)) { while (imlVE.HoverWidget != null) { imlVE.HoverWidget.onMouseLeave(imlVE.HoverWidget, e); imlVE.HoverWidget = imlVE.HoverWidget.LogicalParent as GraphicObject; } imlVE.GraphicTree [i].checkHoverWidget(e); return(true); } } i++; } } if (imlVE.HoverWidget.MouseIsIn(e.Position)) { imlVE.HoverWidget.checkHoverWidget(e); return(true); } else { imlVE.HoverWidget.onMouseLeave(imlVE.HoverWidget, e); //seek upward from last focused graph obj's while (imlVE.HoverWidget.LogicalParent as GraphicObject != null) { imlVE.HoverWidget = imlVE.HoverWidget.LogicalParent as GraphicObject; if (imlVE.HoverWidget.MouseIsIn(e.Position)) { imlVE.HoverWidget.checkHoverWidget(e); return(true); } else { imlVE.HoverWidget.onMouseLeave(imlVE.HoverWidget, e); } } } } //top level graphic obj's parsing lock (imlVE.GraphicTree) { for (int i = 0; i < imlVE.GraphicTree.Count; i++) { GraphicObject g = imlVE.GraphicTree [i]; if (g.MouseIsIn(e.Position)) { g.checkHoverWidget(e); if (g is Window) { imlVE.PutOnTop(g); } return(true); } } } imlVE.HoverWidget = null; return(false); }
void advance(GraphicObject w) { if (Orientation == Orientation.Horizontal) { //if (w is LabelWidget) // Debugger.Break(); currentXForWidget = currentXForWidget + widgetSpacing + w.renderBounds.Width; } else currentYForWidget = currentYForWidget + widgetSpacing + w.renderBounds.Height; if (!SizeToContent) { if (currentXForWidget > ClientRectangle.Right && !HorizontalScrolling) { if (Orientation == Orientation.Vertical) { //not scrolling } else { currentXForWidget = ClientRectangle.X; currentYForWidget += widgetSpacing + highestWidget; highestWidget = 0; } } if (currentYForWidget > ClientRectangle.Bottom && !VerticalScrolling) { if (Orientation == Orientation.Horizontal) { //not scrolling } else { currentXForWidget += widgetSpacing + largestWidget; currentYForWidget = ClientRectangle.Y; largestWidget = 0; } } } }
/// <summary> /// 拡大、回転表示(x,y)が中心座標になるのでalignのDelta(dx,dy)値は無視 /// </summary> /// <param name="x"></param> /// <param name="y"></param> /// <param name="zoom">1で元のまま</param> /// <param name="angle">0で元のままラジアン指定</param> private static void DrawZoomRotate(EnumGraphic enumgraphic, int x, int y, double zoom, double angle, int num, EnumPriority priority, EnumBLEND blend, int blendparam) { GraphicObject o = GraphicObject.GetGraphicObject(enumgraphic); MyDraw.DrawRotaGraph(x, y, zoom, angle, o.GHandle(frame, num), priority, blend, blendparam); }
/// <summary> /// 配列版の描画(上一部分だけ描画 /// </summary> /// <param name="x"></param> /// <param name="y"></param> /// <param name="num">配列番号</param> private static void DrawUpperRect(EnumGraphic enumgraphic, int x, int y, int num, int upperheight, EnumPriority priority, EnumBLEND blend, int blendparam) { GraphicObject o = GraphicObject.GetGraphicObject(enumgraphic); MyDraw.DrawRectGraph(x + o.dx, y + o.dy, 0, 0, o.width, upperheight, o.GHandle(frame, num), priority, blend, blendparam); }
private void LoadSymbols() { base.ClearModels(); base.ClearBillboards(); this.m_Symbol3Objs.Clear(); double num; double num2; checked { num = Convert.ToDouble(decimal.Multiply(new decimal(this.m_TexImage.Width), new decimal(1000L))) / (double)(modSaBan.myGRID_WIDTH - 1) / 1000.0; num2 = Convert.ToDouble(decimal.Multiply(new decimal(this.m_TexImage.Height), new decimal(1000L))) / (double)(modSaBan.myGRID_HEIGHT - 1) / 1000.0; Graphics graphics = Graphics.FromImage(this.m_TexImage); } try { IEnumerator enumerator = myModule.fMain.myBando.drawingSymbols.GetEnumerator(); while (enumerator.MoveNext()) { CSymbol cSymbol = (CSymbol)enumerator.Current; PointF surfPosition = modSaBan.GetSurfPosition(cSymbol.GocX, cSymbol.GocY); float valueX = (float)((double)surfPosition.X / num); float valueY = (float)((double)(checked (modSaBan.myGRID_HEIGHT - 1)) - (double)surfPosition.Y / num2); float dHeading = -CTerrain.DegreeToRadian(cSymbol.Heading); Vector3 pPos = new Vector3(valueX, valueY, -7f); int num3 = base.GetModelMeshIndex(cSymbol.Description); if (num3 > -1) { base.Load1Model(cSymbol.Description, num3, pPos, dHeading); } else { num3 = base.GetBillboardMeshIndex(cSymbol.Description); if (num3 > -1) { base.Load1Billboard(cSymbol.Description, num3, pPos, dHeading); } else { double zoom = cSymbol.Zoom / (double)cSymbol.MWidth * (modSaBan.my3DSoPixelsPer1000m / 1000.0); CGraphicObjs cGraphicObjs = new CGraphicObjs(); try { IEnumerator enumerator2 = cSymbol.GObjs.GetEnumerator(); while (enumerator2.MoveNext()) { GraphicObject graphicObject = (GraphicObject)enumerator2.Current; GraphicObject aGObj = graphicObject.Clone(); cGraphicObjs.Add(aGObj); } } finally { IEnumerator enumerator2; if (enumerator2 is IDisposable) { (enumerator2 as IDisposable).Dispose(); } } CSymbol3 cSymbol2 = new CSymbol3(cSymbol.Description, surfPosition, cGraphicObjs); cSymbol2.Zoom = zoom; cSymbol2.Heading = cSymbol.Heading; this.m_Symbol3Objs.Add(cSymbol2); } } } } finally { IEnumerator enumerator; if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } }
public override bool ProcessMouseMove(int x, int y) { int deltaX = x - Mouse.X; int deltaY = y - Mouse.Y; Mouse.X = x; Mouse.Y = y; MouseMoveEventArgs e = new MouseMoveEventArgs(x, y, deltaX, deltaY); e.Mouse = Mouse; if (ActiveWidget != null) { //TODO, ensure object is still in the graphic tree //send move evt even if mouse move outside bounds ActiveWidget.onMouseMove(this, e); if (!ActiveWidget.IsDragged) //if active is dragged, process mouse move as it was not visible. { return(true); } } if (HoverWidget != null) { //check topmost graphicobject first GraphicObject tmp = HoverWidget; GraphicObject topc = null; while (tmp is GraphicObject) { topc = tmp; tmp = tmp.LogicalParent as GraphicObject; } int idxhw = GraphicTree.IndexOf(topc); if (idxhw != 0) { int i = 0; while (i < idxhw) { if (GraphicTree [i].localLogicalParentIsNull) { if (GraphicTree [i].MouseIsIn(e.Position)) { while (HoverWidget != null) { HoverWidget.onMouseLeave(HoverWidget, e); HoverWidget = HoverWidget.LogicalParent as GraphicObject; } GraphicTree [i].checkHoverWidget(e); return(true); } } i++; } } if (HoverWidget.MouseIsIn(e.Position)) { if (!(HoverWidget is TemplatedControl)) { HoverWidget.checkHoverWidget(e); } return(true); } else { HoverWidget.onMouseLeave(HoverWidget, e); //seek upward from last focused graph obj's while (HoverWidget.LogicalParent as GraphicObject != null) { HoverWidget = HoverWidget.LogicalParent as GraphicObject; if (HoverWidget.MouseIsIn(e.Position)) { HoverWidget.checkHoverWidget(e); return(true); } else { HoverWidget.onMouseLeave(HoverWidget, e); } } } } //top level graphic obj's parsing lock (GraphicTree) { for (int i = 0; i < GraphicTree.Count; i++) { GraphicObject g = GraphicTree [i]; if (g.MouseIsIn(e.Position)) { if (!(HoverWidget is TemplatedControl)) { g.checkHoverWidget(e); } if (g is Window) { PutOnTop(g); } return(true); } } } HoverWidget = null; return(false); }
bool enoughtSpaceForWidget(GraphicObject w) { int nextXForWidget = 0; int nextYForWidget = 0; if (Orientation == Orientation.Horizontal) nextXForWidget = currentXForWidget + w.renderBounds.Width; else nextYForWidget = nextYForWidget + w.renderBounds.Height; if (!SizeToContent) { if (nextXForWidget > ClientRectangle.Right && !HorizontalScrolling) return false; if (currentYForWidget > ClientRectangle.Bottom && !VerticalScrolling) return false; } return true; }
public void DrawSelectedSymbol(AxMap pMap, Graphics g, CSymbol selectedSymbol, float Scale) { GraphicObject selectedObject = selectedSymbol.GObjs[0]; System.Drawing.Point ltPt = default(System.Drawing.Point); float num = (float)ltPt.X; float num2 = (float)ltPt.Y; GraphicObject graphicObject = selectedObject; double num3 = (double)graphicObject.X; GraphicObject graphicObject2 = selectedObject; double num4 = (double)graphicObject2.Y; pMap.ConvertCoord(ref num, ref num2, ref num3, ref num4, ConversionConstants.miMapToScreen); graphicObject2.Y = (float)num4; graphicObject.X = (float)num3; checked { ltPt.Y = (int)Math.Round((double)num2); ltPt.X = (int)Math.Round((double)num); GraphicsContainer gCon = g.BeginContainer(); g.ScaleTransform(Scale, Scale, MatrixOrder.Append); GraphicsContainer gCon2 = g.BeginContainer(); g.PageUnit = GraphicsUnit.Pixel; bool flag = selectedObject != null; if (flag) { Pen selectionPen = new Pen(Color.FromKnownColor(KnownColor.HotTrack)); selectionPen.DashStyle = DashStyle.Dot; selectionPen.Width = 1f; flag = (selectedObject.Rotation != 0f); if (flag) { Matrix myMatrix = g.Transform; Matrix arg_123_0 = myMatrix; float arg_123_1 = selectedObject.Rotation; PointF point = new PointF((float)ltPt.X, (float)ltPt.Y); arg_123_0.RotateAt(arg_123_1, point, MatrixOrder.Append); g.Transform = myMatrix; } PointF[] mPtfs = new PointF[3]; mPtfs[0].X = selectedObject.X; mPtfs[0].Y = selectedObject.Y; int mPtsCount; unchecked { mPtfs[1].X = selectedObject.X + selectedObject.Width; mPtfs[1].Y = selectedObject.Y + selectedObject.Height; mPtsCount = mPtfs.GetUpperBound(0); } System.Drawing.Point[] mPts = new System.Drawing.Point[mPtsCount + 1]; int arg_1B3_0 = 0; int num5 = mPtsCount; int i = arg_1B3_0; while (true) { int arg_281_0 = i; int num6 = num5; if (arg_281_0 > num6) { break; } System.Drawing.Point[] arg_1C3_0 = mPts; int num7 = i; num2 = (float)arg_1C3_0[num7].X; System.Drawing.Point[] arg_1DA_0 = mPts; int num8 = i; num = (float)arg_1DA_0[num8].Y; PointF[] arg_1F1_0 = mPtfs; int num9 = i; num4 = (double)arg_1F1_0[num9].X; PointF[] arg_208_0 = mPtfs; int num10 = i; num3 = (double)arg_208_0[num10].Y; pMap.ConvertCoord(ref num2, ref num, ref num4, ref num3, ConversionConstants.miMapToScreen); mPtfs[num10].Y = (float)num3; mPtfs[num9].X = (float)num4; mPts[num8].Y = (int)Math.Round((double)num); mPts[num7].X = (int)Math.Round((double)num2); i++; } float mW = (float)Math.Abs(mPts[1].X - mPts[0].X); float mH = (float)Math.Abs(mPts[1].Y - mPts[0].Y); float mPtX = (float)Math.Min(mPts[0].X, mPts[1].X); float mPtY = (float)Math.Min(mPts[0].Y, mPts[1].Y); System.Drawing.Rectangle rect = new System.Drawing.Rectangle((int)Math.Round((double)mPtX), (int)Math.Round((double)mPtY), (int)Math.Round((double)mW), (int)Math.Round((double)mH)); g.DrawRectangle(selectionPen, rect); } g.EndContainer(gCon2); g.EndContainer(gCon); } }
void testAlignment(GraphicObject g) { g.HorizontalAlignment = HorizontalAlignment.Left; }
public override void Action(GraphicObject g) { base.Action(g); g.CheckObjectEnabled(); }
public void VFlip() { RectangleF bounds; try { IEnumerator enumerator = this.m_GObjs.GetEnumerator(); while (enumerator.MoveNext()) { GraphicObject graphicObject = (GraphicObject)enumerator.Current; bounds = graphicObject.GetBounds(); float left; if (bounds.Left < left) { left = bounds.Left; } float top; if (bounds.Top < top) { top = bounds.Top; } float right; if (bounds.Right > right) { right = bounds.Right; } float bottom; if (bounds.Bottom > bottom) { bottom = bounds.Bottom; } } } finally { IEnumerator enumerator; if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } float pX = (bounds.Left + bounds.Right) / 2f; try { IEnumerator enumerator2 = this.m_GObjs.GetEnumerator(); while (enumerator2.MoveNext()) { GraphicObject graphicObject2 = (GraphicObject)enumerator2.Current; graphicObject2.VFlip(pX); } } finally { IEnumerator enumerator2; if (enumerator2 is IDisposable) { (enumerator2 as IDisposable).Dispose(); } } }
public virtual void Action(GraphicObject g) { }
public override void Intersection(Collision c, GraphicObject g) { base.Intersection(c, g); switch (g.OT) { case ObjectType.OT_Exit: { if (EnterPressed) { EnterPressed = false; OnLevelCompleted?.Invoke(); //System.Windows.Forms.MessageBox.Show("Very Good !"); } break; } case ObjectType.OT_Flower: { ((Flower)g).Visible = false; if (Type != MarioType.MT_Fire) { Type = MarioType.MT_Fire; SetMarioProperties(); Media.PlaySound(Media.SoundType.ST_Mush); } break; } case ObjectType.OT_Mush: { ((MushRed)g).Visible = false; ((MushRed)g).Animated = false; ((MushRed)g).Live = false; if (Type == MarioType.MT_Small) { Type = MarioType.MT_Big; SetMarioProperties(); Media.PlaySound(Media.SoundType.ST_Mush); } break; } case ObjectType.OT_MushLife: { ((MushLife)g).Visible = false; ((MushLife)g).Animated = false; ((MushLife)g).Live = false; LevelManager.Instance.MarioLives++; break; } case ObjectType.OT_Coin: { ((CoinBlock)g).Animated = false; ((CoinBlock)g).Visible = false; Media.PlaySound(Media.SoundType.ST_Coin); NumberOfCollectedCoins++; break; } case ObjectType.OT_Goomba: { if (c.Dir == CollisionDirection.CD_Up) { if (((MonsterGoomba)g).FallDie == false) // Jump On Goomba with Up Presses { if (UpPressed) { StartJump(true, 0); } else { StartJump(true, -20); } ((MonsterGoomba)g).GoombaDie(); Media.PlaySound(Media.SoundType.ST_Stomp); } } break; } case ObjectType.OT_Pirana: { if (c.Dir == CollisionDirection.CD_Up) // Jump On Piranah with Up Presses { if (UpPressed) { StartJump(true, 0); } else { StartJump(true, -20); } ((MonsterPiranah)g).PiranahDie(); Media.PlaySound(Media.SoundType.ST_Stomp); } break; } case ObjectType.OT_Koopa: { if (c.Dir == CollisionDirection.CD_Up) // Jump On Koopa with Up Presses { if (((MonsterKoopa)g).State == MonsterKoopa.KoopaState.KS_Walking) { if (UpPressed) { StartJump(true, 0); } else { StartJump(true, -20); } ((MonsterKoopa)g).SetKoopaState(MonsterKoopa.KoopaState.KS_Shield); Media.PlaySound(Media.SoundType.ST_Stomp); } else { if ((((MonsterKoopa)g).State == MonsterKoopa.KoopaState.KS_Shield) && (((MonsterKoopa)g).ReturningTime >= 3)) { ((MonsterKoopa)g).SetKoopaState(MonsterKoopa.KoopaState.KS_ShieldMoving); } else if (((MonsterKoopa)g).State == MonsterKoopa.KoopaState.KS_ShieldMoving) { if (UpPressed) { StartJump(true, 0); } else { StartJump(true, -20); } ((MonsterKoopa)g).SetKoopaState(MonsterKoopa.KoopaState.KS_Shield); } } } break; } case ObjectType.OT_MovingBlock: goto case ObjectType.OT_Grass; case ObjectType.OT_SolidBlock: goto case ObjectType.OT_Grass; case ObjectType.OT_PipeUp: goto case ObjectType.OT_Grass; case ObjectType.OT_BlockQuestion: goto case ObjectType.OT_Grass; case ObjectType.OT_BlockQuestionHidden: goto case ObjectType.OT_Grass; case ObjectType.OT_Brick: goto case ObjectType.OT_Grass; case ObjectType.OT_Grass: { SetDirections(); if (c.Dir == CollisionDirection.CD_TopLeft) { if (g.OT == ObjectType.OT_Brick) { //if (MoveState == MarioMoveState.J_Right) // x -= (int)XAdd; //if (MoveState == MarioMoveState.J_Left) // x += (int)XAdd; //Intersection_None(); } } if (c.Dir == CollisionDirection.CD_Up) { if (g.OT == ObjectType.OT_MovingBlock) { this.y = g.newy - this.height; ((BlockMoving)g).MarioOn = true; } else { if (State != MarioJumpState.J_None) { this.y = g.newy - this.height; } } if (State != MarioJumpState.J_None) { State = MarioJumpState.J_None; } SetDirections(); } if (c.Dir == CollisionDirection.CD_Left) { this.x = g.newx - width; //if (g.OT == ObjectType.OT_SolidBlock) // Intersection_None(); if (g.OT == ObjectType.OT_Brick) { //if (MoveState == MarioMoveState.J_Right) // x -= (int)XAdd; //if (MoveState == MarioMoveState.J_Left) // x += (int)XAdd; this.x = g.newx - width; } } if (c.Dir == CollisionDirection.CD_Down) { if (State == MarioJumpState.J_Up) { State = MarioJumpState.JDown; StartPosition = y; TimeCount = 0; StartVelocity = 0; if (g.OT == ObjectType.OT_BlockQuestion || g.OT == ObjectType.OT_BlockQuestionHidden) { ((BlockQuestion)g).isMonsterExist(); ((BlockQuestion)g).StartMove(); if (((BlockQuestion)g).HiddenObject.OT != ObjectType.OT_Coin) { Media.PlaySound(Media.SoundType.ST_Block); } else { NumberOfCollectedCoins++; Media.PlaySound(Media.SoundType.ST_Coin); } } if (g.OT == ObjectType.OT_Brick) { if (Type == MarioType.MT_Big || Type == MarioType.MT_Fire) { ((BlockBrick)g).BreakBrick(); Media.PlaySound(Media.SoundType.ST_Brick); } else { Media.PlaySound(Media.SoundType.ST_Block); } } } } if (c.Dir == CollisionDirection.CD_Right) { this.x = g.newx + g.width; //if (g.OT == ObjectType.OT_SolidBlock) // Intersection_None(); //XAdd = 0; } break; } } }
public static void SetGraphicObjects() { object obj = new XMLGraphicData(); MyUtil.XML.Read("gd.xml", ref obj); XMLGraphicData readxml = (XMLGraphicData)obj; //XMLから辞書にセット GraphicObject.SetDictionary(readxml.MakeGraphicObjectDictionary()); // 画像の読み込み //GraphicObject scr = new GraphicObject("scr.png", GraphicObject.EnumAlign.RIGHTCENTER, 2, 1);//スクラッチの左右向き緑 //GraphicObject scrbad = new GraphicObject("scrbad.png", GraphicObject.EnumAlign.RIGHTCENTER, 2, 1);//スクラッチの左右向き緑 //GraphicObject scrcore = new GraphicObject("scrcore.png", GraphicObject.EnumAlign.CENTERCENTER);//スクラッチの左右向き緑 //GraphicObject bar = new GraphicObject("bar.png", GraphicObject.EnumAlign.CENTERBOTTOM); //GraphicObject baroff = new GraphicObject("baroff.png", GraphicObject.EnumAlign.CENTERBOTTOM); //GraphicObject disk = new GraphicObject("disk.png", GraphicObject.EnumAlign.CENTERCENTER); //GraphicObject light = new GraphicObject("disklight.png", GraphicObject.EnumAlign.CENTERCENTER); //GraphicObject NGXMark = new GraphicObject("xDisk.png", GraphicObject.EnumAlign.CENTERCENTER); //GraphicObject disklightl = new GraphicObject("disklightl.png", GraphicObject.EnumAlign.CENTERCENTER); //GraphicObject disklightr = new GraphicObject("disklightr.png", GraphicObject.EnumAlign.CENTERCENTER); //GraphicObject cutinL = new GraphicObject("cutinL.png", GraphicObject.EnumAlign.CENTERBOTTOM); //GraphicObject cutinR = new GraphicObject("cutinR.png", GraphicObject.EnumAlign.CENTERBOTTOM); //GraphicObject diskshadowL = new GraphicObject("diskshadowL.png", GraphicObject.EnumAlign.CENTERBOTTOM, 1, 2);//アクティブ皿の裏ののびーる紫 //GraphicObject diskshadowR = new GraphicObject("diskshadowR.png", GraphicObject.EnumAlign.CENTERBOTTOM, 1, 2);//アクティブ皿の裏ののびーる赤 //GraphicObject barL = new GraphicObject("playlinel.png", GraphicObject.EnumAlign.CENTERBOTTOM); //GraphicObject barR = new GraphicObject("playliner.png", GraphicObject.EnumAlign.CENTERBOTTOM); //GraphicObject cue = new GraphicObject("cue.png", GraphicObject.EnumAlign.CENTERCENTER, 1, 36); //GraphicObject cueL = new GraphicObject("cueL.png", GraphicObject.EnumAlign.CENTERCENTER, 1, 37); //GraphicObject cueR = new GraphicObject("cueR.png", GraphicObject.EnumAlign.CENTERCENTER, 1, 37); //GraphicObject fader = new GraphicObject("fader.png", GraphicObject.EnumAlign.CENTERBOTTOM); //GraphicObject faderC = new GraphicObject("faderC.png", GraphicObject.EnumAlign.CENTERBOTTOM); //GraphicObject faderL = new GraphicObject("faderL.png", GraphicObject.EnumAlign.CENTERBOTTOM); //GraphicObject faderR = new GraphicObject("faderR.png", GraphicObject.EnumAlign.CENTERBOTTOM); //GraphicObject particle = new GraphicObject("star.png", GraphicObject.EnumAlign.CENTERCENTER, 1, 3); //GraphicObject frame = new GraphicObject("frame.png", GraphicObject.EnumAlign.LEFTTOP); //GraphicObject rainbow = new GraphicObject("Rainbow.png", GraphicObject.EnumAlign.LEFTTOP, 1, 8); //GraphicObject barBeat = new GraphicObject("barBeat.png", GraphicObject.EnumAlign.LEFTTOP); //GraphicObject barMeasure = new GraphicObject("barMeasure.png", GraphicObject.EnumAlign.LEFTTOP); //GraphicObject COOL = new GraphicObject("!!!COOL!!!.png", GraphicObject.EnumAlign.CENTERCENTER); //GraphicObject PERFECT = new GraphicObject("PERFECT.png", GraphicObject.EnumAlign.CENTERCENTER); //GraphicObject GREAT = new GraphicObject("GREAT.png", GraphicObject.EnumAlign.CENTERCENTER); //GraphicObject GOOD = new GraphicObject("GOOD.png", GraphicObject.EnumAlign.CENTERCENTER); //GraphicObject BAD = new GraphicObject("BAD.png", GraphicObject.EnumAlign.CENTERCENTER); //DiscQueCutData.SetGraphicObject(disk, cue, null, light, NGXMark); //DiscQueCutData.SetLGraphicObject(cueL, diskshadowL, cutinL, barL); //DiscQueCutData.SetRGraphicObject(cueR, diskshadowR, cutinR, barR); //ScratchUnit.SetGraphicObject(scr, scrbad, scrcore, bar, baroff); //EffectParticle.SetGraphicObject(particle); //EffectJudge.SetGraphicObject(COOL, PERFECT, GREAT, GOOD, BAD); //EffectRecord.SetGraphicObject(disklightl, disklightr); //drawfader.setGraphicObject(fader, faderC, faderL, faderR); //DrawLowFrame.SetGraphicObject(frame, rainbow); //DrawBeatline.SetGraphicObject(barBeat, barMeasure); }
void KeyboardKeyDown1(object sender, OpenTK.Input.KeyboardKeyEventArgs e) { if (e.Key == OpenTK.Input.Key.Escape) { Quit(null, null); return; } else if (e.Key == OpenTK.Input.Key.F1) { TestList.Add("new string"); NotifyValueChanged("TestList", TestList); return; } else if (e.Key == OpenTK.Input.Key.F4) { GraphicObject w = Load("Interfaces/TemplatedContainer/testWindow.goml"); w.DataSource = this; return; } else if (e.Key == OpenTK.Input.Key.F5) { GraphicObject w = Load("Interfaces/Unsorted/testFileDialog.crow"); w.DataSource = this; return; } else if (e.Key == OpenTK.Input.Key.F6) { GraphicObject w = Load("Interfaces/Divers/0.crow"); w.DataSource = this; return; } else if (e.Key == OpenTK.Input.Key.F7) { GraphicObject w = Load("Interfaces/Divers/perfMeasures.crow"); w.DataSource = this; return; } else if (e.Key == OpenTK.Input.Key.F2) { idx--; } else if (e.Key == OpenTK.Input.Key.F3) { idx++; } else { return; } try { ClearInterface(); if (idx == testFiles.Length) { idx = 0; } else if (idx < 0) { idx = testFiles.Length - 1; } this.Title = testFiles [idx] + ". Press <F3> to cycle examples."; GraphicObject obj = Load(testFiles[idx]); obj.DataSource = this; } catch (Exception ex) { Debug.WriteLine(ex.Message + ex.InnerException); } }