Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using BrashMonkey.Spriter;
- using BrashMonkey.Spriter.Models;
- using Otter;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Reckless
- {
- public class SpriterGraphic : Graphic
- {
- ScmlObject Obj;
- ScmlReference Reference;
- Dictionary<int,Dictionary<int, Image>>FileList = new Dictionary<int,Dictionary<int,Image>>();
- public int Entity = 0;
- public int Animation = 0;
- public SpriterGraphic(string source, string name)
- {
- ScmlLoader scml = new ScmlLoader();
- Obj = scml.LoadFromFile(source+"/"+name+".scml");
- Reference = new ScmlReference();
- Reference.Reference = Obj;
- Reference.SetEntity(Entity);
- Reference.SetAnimation(Animation);
- foreach (var folder in Obj.Folders)
- {
- FileList[folder.ID] = new Dictionary<int, Image>();
- foreach(var file in folder.Files)
- {
- Image image = new Image(source + "/" + file.Name);
- image.OriginX = file.PivotX * image.Width;
- image.OriginY = file.PivotY * image.Height;
- FileList[folder.ID][file.ID] = image;
- }
- }
- }
- public override void Render(float x = 0, float y = 0)
- {
- Reference.Update(4);
- foreach (var obj in Reference.GetTimelineObjects())
- {
- Image image = FileList[obj.FolderID][obj.FileID];
- image.X = obj.X;
- image.Y = obj.Y;
- image.Alpha = obj.AlphaMask;
- image.ScaleX = obj.ScaleX;
- image.ScaleX = obj.ScaleY;
- image.Angle = obj.Angle;
- image.Render(x, y);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement