private void btnOK_Click(object sender, EventArgs e) { TileLayer tl = new TileLayer(); tl.Name = txtName.Text; tl.Opacity = int.Parse(txtOpacity.Text); tl.Visible = true; tl.Order = _map.myLayer.Count; _map.myLayer.Add(tl); l.Add(new LayerCache(_map.maxX, _map.maxY, tl)); /*int[,] yolo = new int[_map.maxX, _map.maxY]; for (int x = 0; x < _map.maxX; x++) { for (int y = 0; y < _map.maxY; y++) { yolo[x, y] = -1; } } _avail.Add(yolo); */ Editor.Instance.ChangeMade = true; Editor.Instance.UpdateTitle(); Editor.Instance.DatabaseUpdate(); this.Close(); }
public EditLayer(TileLayer tl) { InitializeComponent(); _tl = tl; txtName.Text = _tl.Name; txtOpacity.Text = _tl.Opacity.ToString(); }
public NewMini(TileLayer layer) { InitializeComponent(); _mini = new TileLayer(); _layer = layer; }
public LayerCache(int x, int y, TileLayer t) { _tl = t; _myLayer = new int[x, y]; _myMiniLayer = new List<int[,]>(); for (int i = 0; i < _tl.MiniLayer.Count; i++ ) { int[,] l = new int[x, y]; _myMiniLayer.Add(l); } Initialization(); }
public void NextAnimatedLayer(TileLayer tl) { if (tl.LastAnimated == tl.MiniLayer.Count - 1) tl.LastAnimated = -1; for (int i = 0; i < tl.MiniLayer.Count; i++ ) { if (i > tl.LastAnimated) { tl.LastAnimated = i; return; } } }
// Load the actual project. This will be the load game function for the actual game as well. Along with others game-only-related stuffs like Character save and such public void LoadProject(string path, Game obj) { Tile _tempTile = new Tile(); Tileset _tempTileset = new Tileset(); TileLayer _tempLayer = new TileLayer(); TileLayer _tempMiniLayer = new TileLayer(); TileMap _tempMap = new TileMap(); Actor _tempActor = new Actor(); Sprites _tempSprite = new Sprites(); Face _tempFace = new Face(); Switch _tempSwitch = new Switch(); Variable _tempVariable = new Variable(); GResource _tempResource = new GResource(); using (br = new BinaryReader(File.Open(path, FileMode.Open))) { obj.Name = br.ReadString(); obj.Path = br.ReadString(); obj.Author = br.ReadString(); obj.Description = br.ReadString(); obj.SubName = br.ReadString(); obj.TileX = br.ReadInt32(); obj.TileY = br.ReadInt32(); obj.StartMap = br.ReadInt32(); obj.StartX = br.ReadInt32(); obj.StartY = br.ReadInt32(); int max = br.ReadInt32(); for (int i = 0; i < max; i++) { _tempSwitch = new Switch(); _tempSwitch.Name = br.ReadString(); obj.MySwitch.Add(_tempSwitch); } max = br.ReadInt32(); for (int i = 0; i < max; i++) { _tempVariable = new Variable(); _tempVariable.Name = br.ReadString(); obj.MyVariable.Add(_tempVariable); } //Initial Party max = br.ReadInt32(); for (int i = 0; i < max; i++) { obj.InitialParty.Add(br.ReadInt32()); } //Please keep all the non engine related stuff up here // From this point onward is all engine related stuff // Tile Engine max = br.ReadInt32(); for (int i = 0; i < max; i++) { _tempTileset = new Tileset(); _tempTileset.Name = br.ReadString(); _tempTileset.ID = br.ReadInt32(); obj.TM.myTileset.Add(_tempTileset); } max = br.ReadInt32(); for (int i = 0; i < max; i++) { _tempMap = new TileMap(); _tempMap.maxX = br.ReadInt32(); _tempMap.maxY = br.ReadInt32(); _tempMap.InitEvent(); _tempMap.Name = br.ReadString(); _tempMap.PlayerAbove = br.ReadInt32(); _tempMap.Block = new TileProperty[5]; for (int b = 0; b < 5; b++) { TileProperty _tempTileProperty = new TileProperty(_tempMap.maxX, _tempMap.maxY); for (int x = 0; x < _tempMap.maxX; x++) for (int y = 0; y < _tempMap.maxY; y++) _tempTileProperty.MyLayer[x, y] = br.ReadByte(); _tempMap.Block[b] = _tempTileProperty; } int secmax = br.ReadInt32(); for (int l = 0; l < secmax; l++) { _tempLayer = new TileLayer(); _tempLayer.Name = br.ReadString(); _tempLayer.Opacity = br.ReadInt32(); _tempLayer.Order = br.ReadInt32(); _tempLayer.Visible = br.ReadBoolean(); int thimax = br.ReadInt32(); for (int t = 0; t < thimax; t++) { _tempTile = new Tile(); _tempTile.Width = br.ReadInt32(); _tempTile.Height = br.ReadInt32(); _tempTile.TS = br.ReadInt32(); _tempTile.Opacity = br.ReadInt32(); _tempTile.plcX = br.ReadInt32(); _tempTile.plcY = br.ReadInt32(); _tempTile.srcX = br.ReadInt32(); _tempTile.srcY = br.ReadInt32(); _tempLayer.addTile(_tempTile); } thimax = br.ReadInt32(); for (int ml = 0; ml < thimax; ml++) { _tempMiniLayer = new TileLayer(); _tempMiniLayer.Name = br.ReadString(); _tempMiniLayer.Opacity = br.ReadInt32(); _tempMiniLayer.Order = br.ReadInt32(); _tempMiniLayer.Visible = br.ReadBoolean(); int foumax = br.ReadInt32(); for (int t = 0; t < foumax; t++) { _tempTile = new Tile(); _tempTile.Width = br.ReadInt32(); _tempTile.Height = br.ReadInt32(); _tempTile.TS = br.ReadInt32(); _tempTile.Opacity = br.ReadInt32(); _tempTile.plcX = br.ReadInt32(); _tempTile.plcY = br.ReadInt32(); _tempTile.srcX = br.ReadInt32(); _tempTile.srcY = br.ReadInt32(); _tempMiniLayer.addTile(_tempTile); } _tempLayer.MiniLayer.Add(_tempMiniLayer); } _tempMap.myLayer.Add(_tempLayer); } for (int x = 0; x < _tempMap.maxX; x++) { for (int y = 0; y < _tempMap.maxY; y++) { int count = br.ReadInt32(); for (int c = 0; c < count; c++) LoadEvent(obj, _tempMap.EM[x, y].MyEvent); } } obj.TM.myMap.Add(_tempMap); } // Graphic Manager max = br.ReadInt32(); for (int i = 0; i < max; i++) { _tempResource = new GResource(); _tempResource.Path = br.ReadString(); _tempResource.Type = br.ReadInt32(); obj.GM.myResource.Add(_tempResource); } // Actor Manager max = br.ReadInt32(); for (int i = 0; i < max; i++) { _tempActor = new Actor(); _tempActor.Name = br.ReadString(); _tempActor.Description = br.ReadString(); _tempActor.Level = br.ReadInt32(); _tempActor.Gender = br.ReadInt32(); _tempActor.Face = br.ReadInt32(); _tempActor.Sprite = br.ReadInt32(); _tempActor.Job = br.ReadInt32(); _tempActor.JobLevel = br.ReadInt32(); _tempActor.StatPoints = br.ReadInt32(); _tempActor.Stat = new int[br.ReadInt32()]; for (int s = 0; s < _tempActor.Stat.Length; s++) { _tempActor.Stat[s] = br.ReadInt32(); } obj.AM.MyActor.Add(_tempActor); } max = br.ReadInt32(); for (int i = 0; i < max; i++) { _tempFace = new Face(); _tempFace.Name = br.ReadString(); _tempFace.ID = br.ReadInt32(); obj.AM.MyFace.Add(_tempFace); } max = br.ReadInt32(); for (int i = 0; i < max; i++) { _tempSprite = new Sprites(); _tempSprite.Name = br.ReadString(); _tempSprite.ID = br.ReadInt32(); obj.AM.MySprite.Add(_tempSprite); } } }