public CollisionBoxTimeline(BinaryReader BR, RobotAnimation Owner) : base(BR, TimelineType) { this.Owner = Owner; int ListCollisionPolygonCount = BR.ReadInt32(); ListCollisionPolygon = new List <Polygon>(ListCollisionPolygonCount); ListOriginalPolygon = new List <Polygon>(); for (int P = ListCollisionPolygonCount - 1; P >= 0; --P) { Polygon NewPolygon = new Polygon(BR, 1, 1); ListCollisionPolygon.Add(new Polygon(NewPolygon)); ListOriginalPolygon.Add(new Polygon(NewPolygon)); } ComputeSourceRectangle(); Origin = new Point(Width / 2, Height / 2); int DicAnimationSpriteKeyFrameCount = BR.ReadInt32(); for (int E = 0; E < DicAnimationSpriteKeyFrameCount; E++) { int Key = BR.ReadInt32(); VisibleAnimationObjectKeyFrame NewAnimatedBitmapKeyFrame = new VisibleAnimationObjectKeyFrame(BR); DicAnimationKeyFrame.Add(Key, NewAnimatedBitmapKeyFrame); } }
public GunNozzleTimeline(BinaryReader BR, RobotAnimation Owner) : base(BR, TimelineType) { Origin = new Point(Width / 2, Height / 2); this.Owner = Owner; if (Owner != null) { this.OwnerWeapon = Owner.ActiveAddedWeapon; } _SpawnFrame = BR.ReadInt32(); _DeathFrame = BR.ReadInt32(); _ShootSecondaryWeapon = BR.ReadBoolean(); int DicAnimationSpriteKeyFrameCount = BR.ReadInt32(); for (int E = 0; E < DicAnimationSpriteKeyFrameCount; E++) { int Key = BR.ReadInt32(); VisibleAnimationObjectKeyFrame NewAnimatedBitmapKeyFrame = new VisibleAnimationObjectKeyFrame(BR); DicAnimationKeyFrame.Add(Key, NewAnimatedBitmapKeyFrame); } }
public SceneObjectTimeline(BinaryReader BR, SceneObject SceneObject) : base(BR, TimelineType) { this.SceneObject = SceneObject; int DicAnimationSpriteKeyFrameCount = BR.ReadInt32(); for (int E = 0; E < DicAnimationSpriteKeyFrameCount; E++) { int Key = BR.ReadInt32(); VisibleAnimationObjectKeyFrame NewAnimatedBitmapKeyFrame = new VisibleAnimationObjectKeyFrame(BR); DicAnimationKeyFrame.Add(Key, NewAnimatedBitmapKeyFrame); } }
public override List <VisibleTimeline> CreateNewEditorItem(AnimationClass ActiveAnimation, AnimationClass.AnimationLayer ActiveLayer, int KeyFrame, System.Drawing.Point MousePosition) { List <VisibleTimeline> ReturnValue = new List <VisibleTimeline>(); Vector2[] LocalPoints = new Vector2[4] { new Vector2(MousePosition.X - 40, MousePosition.Y - 40), new Vector2(MousePosition.X - 40, MousePosition.Y + 40), new Vector2(MousePosition.X + 40, MousePosition.Y + 40), new Vector2(MousePosition.X + 40, MousePosition.Y - 40), }; List <Polygon> ListPolygon = new List <Polygon>(); CollisionBoxTimeline NewCollisionBoxTimeline = new CollisionBoxTimeline(); PolygonCutterHelper NewSpawner = new PolygonCutterHelper(ActiveLayer.renderTarget, ListPolygon, true); Polygon NewPolygon = new Polygon(LocalPoints, GameScreen.GraphicsDevice.Viewport.Width, GameScreen.GraphicsDevice.Viewport.Height); NewSpawner.PolygonCutterViewer.ListPolygon.Add(NewPolygon); if (NewSpawner.ShowDialog() == System.Windows.Forms.DialogResult.OK) { NewCollisionBoxTimeline.SpawnFrame = KeyFrame; NewCollisionBoxTimeline.DeathFrame = KeyFrame + 10; NewCollisionBoxTimeline.IsUsed = true;//Disable the spawner as we spawn the Marker manually. Vector2[] NewArrayVertex = new Vector2[NewSpawner.PolygonCutterViewer.ListPolygon[0].ArrayVertex.Length]; Array.Copy(NewSpawner.PolygonCutterViewer.ListPolygon[0].ArrayVertex, NewArrayVertex, NewSpawner.PolygonCutterViewer.ListPolygon[0].ArrayVertex.Length); VisibleAnimationObjectKeyFrame NewPolygonCutterKeyFrame = new VisibleAnimationObjectKeyFrame(NewCollisionBoxTimeline.Position, true, -1); Polygon NewKeyFramePolygon = new Polygon(NewArrayVertex, ActiveLayer.renderTarget.Width, ActiveLayer.renderTarget.Height); NewCollisionBoxTimeline.Add(KeyFrame, NewPolygonCutterKeyFrame); NewCollisionBoxTimeline.ListCollisionPolygon.Add(NewKeyFramePolygon); NewCollisionBoxTimeline.ListOriginalPolygon.Add(new Polygon(NewKeyFramePolygon)); NewKeyFramePolygon.UpdateWorldPosition(Vector2.Zero, 0f); NewCollisionBoxTimeline.ComputeSourceRectangle(); ReturnValue.Add(NewCollisionBoxTimeline); } return(ReturnValue); }
public override void UpdateAnimationObject(int KeyFrame) { Progress = 0; //An Event is being executed. if (NextEvent != null) { Progress = (KeyFrame - EventKeyFrameOld) / (float)(NextEventKeyFrame - EventKeyFrameOld); UpdateAnimationSprite(KeyFrame); } VisibleAnimationObjectKeyFrame ActiveKeyFrame; VisibleAnimationObjectKeyFrame ActiveAnimationSpriteKeyFrame; if (DicAnimationKeyFrame.TryGetValue(KeyFrame, out ActiveAnimationSpriteKeyFrame)) { ActiveKeyFrame = (VisibleAnimationObjectKeyFrame)ActiveAnimationSpriteKeyFrame; //If that animation has already been used, skip it. if (ActiveKeyFrame.IsUsed) { return; } int NextKeyFrame = ActiveKeyFrame.NextKeyFrame; OnNewKeyFrameAnimationSprite(ActiveKeyFrame); if (DicAnimationKeyFrame.TryGetValue(NextKeyFrame, out ActiveAnimationSpriteKeyFrame)) { VisibleAnimationObjectKeyFrame NextActiveKeyFrame = (VisibleAnimationObjectKeyFrame)ActiveAnimationSpriteKeyFrame; if (NextActiveKeyFrame.IsProgressive) { OnProgressiveNextKeyFrameAnimationSprite(NextActiveKeyFrame, KeyFrame, NextKeyFrame); } else { NextEvent = null; } } } }
private UITimeline(BinaryReader BR, ContentManager Content) : base(BR, TimelineType) { fntFinlanderFont = Content.Load <SpriteFont>("Fonts/Finlander Font"); sprBarExtraLargeBackground = Content.Load <Texture2D>("Battle/Bars/Extra Long Bar"); sprBarExtraLargeEN = Content.Load <Texture2D>("Battle/Bars/Extra Long Energy"); sprBarExtraLargeHP = Content.Load <Texture2D>("Battle/Bars/Extra Long Health"); sprInfinity = Content.Load <Texture2D>("Battle/Infinity"); _SpawnFrame = BR.ReadInt32(); _DeathFrame = BR.ReadInt32(); int DicAnimationSpriteKeyFrameCount = BR.ReadInt32(); for (int E = 0; E < DicAnimationSpriteKeyFrameCount; E++) { int Key = BR.ReadInt32(); VisibleAnimationObjectKeyFrame NewAnimatedBitmapKeyFrame = new VisibleAnimationObjectKeyFrame(BR); DicAnimationKeyFrame.Add(Key, NewAnimatedBitmapKeyFrame); } }
public ChargeAttackTimeline(BinaryReader BR, RobotAnimation Owner) : base(BR, TimelineType) { Origin = new Point(Width / 2, Height / 2); this.Owner = Owner; _SpawnFrame = BR.ReadInt32(); _DeathFrame = BR.ReadInt32(); _ShootSecondaryWeapon = BR.ReadBoolean(); _MaxCharge = BR.ReadInt32(); _ChargeAmountPerFrame = BR.ReadInt32(); int DicAnimationSpriteKeyFrameCount = BR.ReadInt32(); for (int E = 0; E < DicAnimationSpriteKeyFrameCount; E++) { int Key = BR.ReadInt32(); VisibleAnimationObjectKeyFrame NewAnimatedBitmapKeyFrame = new VisibleAnimationObjectKeyFrame(BR); DicAnimationKeyFrame.Add(Key, NewAnimatedBitmapKeyFrame); } }