using System; using System.Collections.Generic; using System.Text; using CommonUI.Display; using CommonLang; namespace CommonUI.Cell { public class SetObject { public int Index; public String Name; } public class ImagesSet : SetObject { public int Count; public int[] ClipsX; public int[] ClipsY; public int[] ClipsW; public int[] ClipsH; public String[] ClipsKey; public String Extention; public bool IsTiles; public String ImageInfo; public int TotalW; public int TotalH; public int SplitSize; /**String*/ public String AppendData; public ImagesSet(int index, String name) { this.Index = index; this.Name = name; } public int getIndex() { return Index; } public String getName() { return Name; } public int getCount() { return Count; } public int getClipX(int i) { return ClipsX[i]; } public int getClipY(int i) { return ClipsY[i]; } public int getClipW(int i) { return ClipsW[i]; } public int getClipH(int i) { return ClipsH[i]; } public String getClipKey(int i) { return ClipsKey[i]; } } public class MapSet : SetObject { public String ImagesName; public int XCount; public int YCount; public int CellW; public int CellH; public int LayerCount; public BlockType[] BlocksType; public int[] BlocksMask; public int[] BlocksX1; public int[] BlocksY1; public int[] BlocksX2; public int[] BlocksY2; public int[] BlocksW; public int[] BlocksH; /** [layer][y][x] */ public int[,,] TerrainTile; public int[,,] TerrainFlip; public int[,,] TerrainFlag; /**String*/ public String AppendData; public MapSet(int index, String name) { this.Index = index; this.Name = name; } public int getIndex() { return Index; } public String getName() { return Name; } } public class SpriteSet : SetObject { public String ImagesName; public bool ComplexMode; public float[] PartX; public float[] PartY; public float[] PartZ; public int[] PartTileID; public Trans[] PartTileTrans; public float[] PartAlpha; public float[] PartRotate; public float[] PartScaleX; public float[] PartScaleY; public float[] PartAnchorX; public float[] PartAnchorY; public short[][] Parts; public int[] BlocksMask; public float[] BlocksX1; public float[] BlocksY1; public float[] BlocksW; public float[] BlocksH; public short[][] Blocks; public int AnimateCount; public String[] AnimateNames; public short[][] FrameAnimate; public short[][] FrameCDMap; public short[][] FrameCDAtk; public short[][] FrameCDDef; public short[][] FrameCDExt; public float[][] FrameAlpha; public String[][] FrameDatas; /**String*/ public String AppendData; public SpriteSet(int index, String name) { this.Index = index; this.Name = name; } public int getIndex() { return Index; } public String getName() { return Name; } public int getPartImageIndex(int anim, int frame, int subpart) { return PartTileID[Parts[FrameAnimate[anim][frame]][subpart]]; } public Trans getPartTrans(int anim, int frame, int subpart) { return PartTileTrans[Parts[FrameAnimate[anim][frame]][subpart]]; } public float getPartX(int anim, int frame, int subpart) { return PartX[Parts[FrameAnimate[anim][frame]][subpart]]; } public float getPartY(int anim, int frame, int subpart) { return PartY[Parts[FrameAnimate[anim][frame]][subpart]]; } } public class WorldSet : SetObject { public int GridXCount; public int GridYCount; public int GridW; public int GridH; public int Width; public int Height; public HashMap Sprs = new HashMap(); public HashMap Maps = new HashMap(); public HashMap Imgs = new HashMap(); public HashMap WayPoints = new HashMap(); public HashMap Regions = new HashMap(); public HashMap Events = new HashMap(); public String Data; /// /// y, x /// public int[,] Terrian; public WorldSet(int index, String name) { this.Index = index; this.Name = name; } public int getIndex() { return Index; } public String getName() { return Name; } public int getTerrainCell(int grid_x, int grid_y) { return Terrian[grid_x, grid_y]; } public class MapObject { public int Index; public String UnitName; public String MapID; public String ImagesID; public int X; public int Y; public int Priority; public String Data; } public class SpriteObject { public int Index; public String UnitName; public String SprID; public String ImagesID; public int Anim; public int Frame; public int X; public int Y; public int Priority; public String Data; } public class ImageObject { public int Index; public String UnitName; public String ImagesID; public int TileID; public ImageAnchor ImgAnchor; public ImageTrans ImgTrans; public int X; public int Y; public int Priority; public String Data; } public class WaypointObject { public int Index; public int X; public int Y; public String Data; public HashMap Nexts = new HashMap(); } public class RegionObject { public int Index; public int X; public int Y; public int W; public int H; public String Data; } public class EventObject { public int Index; public long ID; public String EventName; public String EventFile; public int X; public int Y; public String Data; } } public enum BlockType : int { CD_TYPE_RECT = 1, CD_TYPE_LINE = 2, CD_TYPE_POINT = 3, } }