private void borrarToolStripButton_Click(object sender, EventArgs e) { object seleccionado = this.currentLevelProp.SelectedObject; Moneda moneda = seleccionado as Moneda; if (moneda != null) { this.currentLevel.Monedas.Remove(moneda); } Enemigo enemigo = seleccionado as Enemigo; if (enemigo != null) { this.currentLevel.Enemigos.Remove(enemigo); } Plataforma plataforma = seleccionado as Plataforma; if (plataforma != null) { this.currentLevel.Plataformas.Remove(plataforma); } this.currentLevelProp.SelectedObject = null; updateView(); }
private void currentLevelView_MouseUp(object sender, MouseEventArgs e) { byte tileX = (byte)(e.X / 32); byte tileY = (byte)(e.Y / 32); switch (this.currentStatus) { case AppState.Normal: this.currentLevelProp.SelectedObject = getObjectAt(tileX, tileY); enableToolsTripButtons(); break; case AppState.AddingPlatform: if (this.isDrawing && ((e.Button & MouseButtons.Left) == MouseButtons.Left)) { // Fin de arrastre para colocar una plataforma... updatePlataformaDibujada(tileX, tileY); } this.isDrawing = false; updateView(); break; case AppState.AddingCoin: Moneda moneda = new Moneda(); moneda.X = tileX; moneda.Y = tileY; this.currentLevel.Monedas.Add(moneda); this.currentLevelProp.SelectedObject = moneda; this.updateView(); break; case AppState.AddingEnemy: Enemigo enemigo = new Enemigo(); enemigo.TileDer = tileX; enemigo.TileIzq = tileX; enemigo.TileVert = tileY; enemigo.TipoEnemigo = tipoEnemigo; enemigo.Velocidad = Velocidad.Lento; this.currentLevel.Enemigos.Add(enemigo); this.currentLevelProp.SelectedObject = enemigo; this.updateView(); break; } }
private bool updateEnemigo(byte tileX, byte tileY, bool actualizar) { Enemigo enemigo = seleccionado as Enemigo; if (enemigo != null) { if (enemigo.TileVert != tileY) { enemigo.TileVert = tileY; actualizar = true; } } return(actualizar); }
public int CompareTo(object obj) { Enemigo objAComparar = obj as Enemigo; if (objAComparar == null) { throw new ArgumentException(string.Format("No se puede comparar con un objeto de tipo {0}", obj.GetType().FullName)); } if (this.tileVert < objAComparar.tileVert || (this.tileVert == objAComparar.tileVert && this.tileIzq < objAComparar.tileIzq) || (this.tileVert == objAComparar.tileVert && this.tileIzq == objAComparar.tileIzq && this.tileDer < objAComparar.tileDer)) { return(-1); } if (this.tileVert == objAComparar.tileVert && this.tileIzq == objAComparar.tileIzq && this.tileDer == objAComparar.tileDer) { return(0); } return(1); }
internal string ToString(Version version) { StringBuilder result = new StringBuilder(); int i = 0; // Descriptor. result.AppendFormat(";.Pantalla {0}\n", this.numPantalla); if (version.CPU == CPUVersion.MSX) { result.AppendFormat(" {0} {1} ; FONDO\n", version.TokenDef, (byte)this.tileFondo); } else { result.Append(" ;TTPPPIII\n"); result.AppendFormat(" {3} {4}{0}{1}{2}{5} ; Descriptor\n", Utils.ToBinary2((byte)this.tileFondo), Utils.ToBinary3((byte)this.paperColor), Utils.ToBinary3((byte)this.inkColor), version.TokenDef, version.PrefijoDatoBin, version.EndOfByte); } // Plataformas. result.Append("\n ;Objetos\n"); result.Append(" ;datos \"al reves\", por eso del \"endian\"\n"); result.Append(" ;LLLLTTTD XXXXYYYY\n"); for (i = 0; i < this.plataformas.Count; i++) { result.AppendFormat(" {0}\n", this.plataformas[i].ToString(version)); } if (version.CPU != CPUVersion.MSX) { Plataforma plataformaVacia = new Plataforma(); for (; i < version.MaxPlataformas; i++) { result.AppendFormat(" {0}\n", plataformaVacia.ToString(version)); } } result.AppendLine(version.EndOfSection); // Moviles. result.Append("\n ;Moviles\n"); result.Append(" ;YYYYTTTD AAAABBBB\n"); for (i = 0; i < this.enemigos.Count; i++) { result.AppendFormat(" {0}\n", this.enemigos[i].ToString(version)); } if (version.CPU != CPUVersion.MSX) { Enemigo enemigoVacio = new Enemigo(); for (; i < version.MaxEnemigos; i++) { result.AppendFormat(" {0}\n", enemigoVacio.ToString(version)); } } result.AppendLine(version.EndOfSection); // Monedas. result.Append("\n ;Monedas\n"); result.Append(" ;XXXXYYYY\n"); for (i = 0; i < this.monedas.Count; i++) { result.AppendFormat(" {0}\n", this.monedas[i].ToString(version)); } if (version.CPU != CPUVersion.MSX) { Moneda monedaVacia = new Moneda(); for (; i < version.MaxMonedas; i++) { result.AppendFormat(" {0}\n", monedaVacia.ToString(version)); } } result.AppendLine(version.EndOfSection); return(result.ToString()); }