Rev 1397 |
Rev 1402 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using BauzoidNET.graphics;
using BauzoidNET.graphics.sprite;
namespace ShapeEditor
.file
{
public class Document
{
private MainForm mOwner
= null;
private bool mIsDirty
= false;
private string mFilename
= null;
//private List<LevelElement> mLevelElements = new List<LevelElement>();
private Sprite mSprite
= null;
private SpriteInstance mSpriteInstance
= null;
public Document
(MainForm owner
)
{
mOwner
= owner
;
}
public void Destroy
()
{
DestroySprite
();
}
public void DestroySprite
()
{
if (mSprite
!= null)
{
mSprite
.dispose();
mSprite
= null;
}
mSpriteInstance
= null;
}
public bool NewDocument
()
{
Destroy
();
mIsDirty
= false;
ChangeSprite
("data/textures/test.png");
return true;
}
public bool LoadDocument
(String filename
)
{
Destroy
();
mIsDirty
= false;
mFilename
= filename
;
// fill mLevelElements from file
//return LevelUtil.LoadLevel(mFilename, mLevelElements);
return false;
}
public bool SaveDocument
()
{
// save mLevelElements
return false;
//return LevelUtil.SaveLevel(mFilename, mLevelElements);
}
public bool SaveDocument
(string filename
)
{
mFilename
= filename
;
return SaveDocument
();
}
public void ChangeSprite
(string filename
)
{
DestroySprite
();
string atlasFile
= Path
.ChangeExtension(filename,
"txt");
if (File
.Exists(atlasFile
))
{
mSprite
= new Sprite
(MainForm
.App.getGraphics(), filename, atlasFile
);
}
else
{
mSprite
= new Sprite
(MainForm
.App.getGraphics(), filename
);
}
mSprite
.init();
mSpriteInstance
= mSprite
.createSpriteInstanceForAll();
}
public void Render
()
{
Graphics g
= MainForm
.App.getGraphics();
if (mSpriteInstance
!= null)
{
mSpriteInstance
.transform.x = MainForm
.App.getGraphics().getWidth()/2;
mSpriteInstance
.transform.y = MainForm
.App.getGraphics().getHeight()/2;
mSpriteInstance
.transform.w = 200;
mSpriteInstance
.transform.h = 200;
mSpriteInstance
.transform.centerPivot();
mSpriteInstance
.render();
}
}
public void SetDirty
(bool dirty
)
{
mIsDirty
= dirty
;
}
public bool IsDirty
()
{
return mIsDirty
;
}
public String GetFilename
()
{
return mFilename
;
}
public void SetFilename
(String filename
)
{
mFilename
= filename
;
}
public bool IsFilenameSet
()
{
return (mFilename
!= null);
}
public SpriteInstance GetSpriteInstance
()
{
return mSpriteInstance
;
}
}
}