Advertisement
Guest User

Untitled

a guest
Jun 2nd, 2014
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.93 KB | None | 0 0
  1. using BrashMonkey.Spriter;
  2. using BrashMonkey.Spriter.Models;
  3. using Otter;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9.  
  10. namespace Reckless
  11. {
  12.     public class SpriterGraphic : Graphic
  13.     {
  14.         ScmlObject Obj;
  15.         ScmlReference Reference;
  16.         Dictionary<int,Dictionary<int, Image>>FileList = new Dictionary<int,Dictionary<int,Image>>();
  17.  
  18.         public int Entity = 0;
  19.         public int Animation = 0;
  20.  
  21.         public SpriterGraphic(string source, string name)
  22.         {
  23.             ScmlLoader scml = new ScmlLoader();
  24.             Obj = scml.LoadFromFile(source+"/"+name+".scml");
  25.             Reference = new ScmlReference();
  26.             Reference.Reference = Obj;
  27.             Reference.SetEntity(Entity);
  28.             Reference.SetAnimation(Animation);
  29.  
  30.             foreach (var folder in Obj.Folders)
  31.             {
  32.                 FileList[folder.ID] = new Dictionary<int, Image>();
  33.                 foreach(var file in folder.Files)
  34.                 {
  35.                     Image image = new Image(source + "/" + file.Name);
  36.                     image.OriginX = file.PivotX * image.Width;
  37.                     image.OriginY = file.PivotY * image.Height;
  38.  
  39.                     FileList[folder.ID][file.ID] = image;
  40.                 }
  41.             }
  42.         }
  43.  
  44.         public override void Render(float x = 0, float y = 0)
  45.         {
  46.             Reference.Update(4);
  47.            
  48.             foreach (var obj in Reference.GetTimelineObjects())
  49.             {
  50.                 Image image = FileList[obj.FolderID][obj.FileID];
  51.                 image.X = obj.X;
  52.                 image.Y = obj.Y;
  53.                 image.Alpha = obj.AlphaMask;
  54.  
  55.                 image.ScaleX = obj.ScaleX;
  56.                 image.ScaleX = obj.ScaleY;
  57.                 image.Angle = obj.Angle;
  58.  
  59.                 image.Render(x, y);
  60.             }
  61.         }
  62.        
  63.     }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement