private void BombAdd(string name, int x, int y) { BombClass b = new BombClass(name, GameData.bombtimer, ImageResourcesClass.bombimagesource, x, y); bombs.Add(b); b.TimeIsUpEvent += new BombClass.TimeIsUpDelegate(b_TimeIsUpEvent); b.exp.ExplosionOverEvent += new ExplosionClass.ExplosionOverDelegate(exp_ExplosionOverEvent); b.StartTimer(); canvas1.Children.Add(b.BombImage); GameData.GameMatrixItemAdd(x, y, Enums.FieldTypes.bomb); }
//private void BombRemove(string bcImageName, int left, int top) private void BombRemove(BombClass bc) { //bombakép eltávolítása canvas1.Children.Remove(bc.BombImage); //robbanási képek megjelenítése canvas1.Children.Add(bc.GetExplosionCenter()); foreach (Image item in bc.GetExplosionPics(Enums.DirectionEnum.down)) { canvas1.Children.Add(item); } foreach (Image item in bc.GetExplosionPics(Enums.DirectionEnum.left)) { canvas1.Children.Add(item); } foreach (Image item in bc.GetExplosionPics(Enums.DirectionEnum.right)) { canvas1.Children.Add(item); } foreach (Image item in bc.GetExplosionPics(Enums.DirectionEnum.up)) { canvas1.Children.Add(item); } if (removableWalls.Count > 0) { //az eltávolítható falak kiszedése List <RemovableWallClass> rwp = (from item in bc.exp.explodePositions from item2 in removableWalls where item.X == item2.Left && item.Y == item2.Top select item2).ToList(); foreach (RemovableWallClass item in rwp) { canvas1.Children.Remove(item.image); GameData.GameMatrixItemAdd(item.Left, item.Top, Enums.FieldTypes.basic); } for (int i = rwp.Count - 1; i >= 0; i--) { removableWalls.Remove(rwp[i]); } } }
void b_TimeIsUpEvent(BombClass bc) { //MainData.BmClient.BombRemoveAsync(bc.BombImage.Name, bc.Left, bc.Top, GameData.opponent.Name); //BombRemove(bc.BombImage.Name,bc.Left,bc.Top); BombRemove(bc); }