From da38e93e55b6ff46a53dcd9d2be393149089d329 Mon Sep 17 00:00:00 2001 From: aldrikboy Date: Fri, 29 Dec 2017 17:27:49 +0100 Subject: obejct info, new level selector, credits haHA --- Penguloon/Levels/LevelBase.cs | 30 ++++++++++++++++++++++++++++-- Penguloon/Levels/Map.cs | 5 +++++ 2 files changed, 33 insertions(+), 2 deletions(-) (limited to 'Penguloon/Levels') 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); + } } } -- cgit v1.2.3-70-g09d2