public IEnumerable <Sprite> CreateSprites(string stageFile, SpriteForm renderWindow) { var onStages = LoadJsonSprites <List <JsonSprite> >(stageFile); return(onStages.Select(x => MakeSprite(x, _staticDef, renderWindow))); }
private void NewSprite_Click(object sender, EventArgs e) { Form childForm = new SpriteForm(); childForm.MdiParent = this; childForm.Text = "Sprite " + childFormNumber++; childForm.Show(); }
public MySprite AddForm(Vector2 position, SpriteForm form, float width, float height, Color color) { return(AddSprite(new MySprite() { Type = SpriteType.TEXTURE, Data = form.ToString(), Size = new Vector2(width, height), Color = color, Position = position + new Vector2(0, height / 2) })); }
public PersonSprite(SpriteForm window, Person person) : base(window) { Body.BodyType = BodyType.Dynamic; Body.SleepingAllowed = false; Name = "Person"; Frames = new[] { person.PsdImage }; Center = circleShape.Center; Position = RandomPosition(); UserData = person; SetShapes(circleShape.Clone()); AddBehavior(new AutoBorderBehavior()); AddBehavior(new GoTransparentKillingBehavior()); }
private Sprite MakeSprite( JsonSprite def, Dictionary <string, JsonSpriteStaticDefinition> defs, SpriteForm xResource) { var sprite = new Sprite(xResource); var staticDef = defs[def.Type]; sprite.Body.BodyType = FarseerPhysics.Dynamics.BodyType.Static; sprite.Name = def.Type; sprite.Frames = staticDef.Frames; sprite.Position = new Vector2(def.Position[0], def.Position[1]); sprite.Center = new Vector2(staticDef.Center[0], staticDef.Center[1]); sprite.Rotation = MathUtil.DegreesToRadians(def.Angle); sprite.Alpha = def.Alpha; // Shapes sprite.SetShapes(staticDef.Shapes .Select(x => x.Create(sprite.Center)) .ToArray()); sprite.Children.AddRange( staticDef.Children.Select(child => MakeSprite(child, defs, xResource))); sprite.Children.AddRange( def.Children.Select(child => MakeSprite(child, defs, xResource))); // Behaviors //sprite.Behaviors["default"] = new AutoFrameBehavior(sprite); #if DEBUG sprite.AddBehavior(new AutoBorderBehavior()); #endif var finalBehaviors = new Dictionary <string, Dictionary <string, object> >(); foreach (var behavior in staticDef.Behaviors) { finalBehaviors.Add(behavior.Key, behavior.Value); } foreach (var behavior in def.Behaviors) { finalBehaviors[behavior.Key] = behavior.Value; } foreach (var behavior in finalBehaviors) { sprite.AddBehavior(BehaviorExtensions.Create(behavior.Key, behavior.Value)); } return(sprite); }
public void Execute() { if (!Check()) { return; } if (form.listAssets.SelectedIndices.Count == 0) { return; } Model.Asset asset = form.project.Assets[form.listAssets.SelectedIndices[0]]; SpriteForm spriteForm = new SpriteForm() { Atlas = asset.Atlas }; spriteForm.UpdateList(); spriteForm.ShowDialog(form); form.dirty = true; form.UpdateTitle(); }