diff options
| author | aldrikboy <aldrikboy@gmail.com> | 2017-12-29 17:27:49 +0100 |
|---|---|---|
| committer | aldrikboy <aldrikboy@gmail.com> | 2017-12-29 17:27:49 +0100 |
| commit | da38e93e55b6ff46a53dcd9d2be393149089d329 (patch) | |
| tree | c19fdb964ee6f8dd8dd3102b22de541828850983 /Penguloon/Levels | |
| parent | 5373e919a0d9e389fc2076963f610d044c21ccb5 (diff) | |
obejct info, new level selector, credits haHA
Diffstat (limited to 'Penguloon/Levels')
| -rw-r--r-- | Penguloon/Levels/LevelBase.cs | 30 | ||||
| -rw-r--r-- | Penguloon/Levels/Map.cs | 5 |
2 files changed, 33 insertions, 2 deletions
diff --git a/Penguloon/Levels/LevelBase.cs b/Penguloon/Levels/LevelBase.cs index 351cdcf..2b003cf 100644 --- a/Penguloon/Levels/LevelBase.cs +++ b/Penguloon/Levels/LevelBase.cs @@ -80,8 +80,34 @@ namespace Penguloon.Levels // check if there isnt an object already for (int x = 0; x < Map.Objects.Count; x++) { - if (Map.Objects[x].Position == new Vector2(posToSpawnX, posToSpawnY)) - return; + for (int px = 0; px < Map.Objects[x].TileSpanX; px++) + { + for (int py = 0; py < Map.Objects[x].TileSpanY; py++) + { + Vector2 posToCheck = Map.Objects[x].Position + new Vector2(px * Map.TileWidth, py * Map.TileHeight); + + if (posToCheck == new Vector2(posToSpawnX, posToSpawnY)) + return; + } + } + } + + // check if it isnt touching any walkable tiles + for (int px = 0; px < ParentScene.ObjectSeletor.Objects[ParentScene.ObjectSeletor.SelectedObjectIndex].Item1.TileSpanX; px++) + { + for (int py = 0; py < ParentScene.ObjectSeletor.Objects[ParentScene.ObjectSeletor.SelectedObjectIndex].Item1.TileSpanY; py++) + { + Vector2 posToCheck = new Vector2(posToSpawnX, posToSpawnY) + new Vector2(px * Map.TileWidth, py * Map.TileHeight); + + int tx = (int)posToCheck.X / Map.TileWidth; + int ty = (int)posToCheck.Y / Map.TileHeight; + + try + { + if (Map.TileMap[ty, tx].Direction != Direction.None) return; + } + catch { return; } + } } Money -= ParentScene.ObjectSeletor.Objects[ParentScene.ObjectSeletor.SelectedObjectIndex].Item2; diff --git a/Penguloon/Levels/Map.cs b/Penguloon/Levels/Map.cs index 71a826e..e7cb864 100644 --- a/Penguloon/Levels/Map.cs +++ b/Penguloon/Levels/Map.cs @@ -191,6 +191,11 @@ namespace Penguloon.Levels var b = new CannonObject(pos, this); Objects.Add(b); } + if (type == typeof(HealthGeneratorObject)) + { + var b = new HealthGeneratorObject(pos, this); + Objects.Add(b); + } } } |
