mirror of
https://github.com/Phantop/LADXHD.git
synced 2024-11-01 04:14:22 +00:00
33 lines
1.2 KiB
C#
33 lines
1.2 KiB
C#
|
using Microsoft.Xna.Framework;
|
||
|
using ProjectZ.InGame.GameObjects.Base;
|
||
|
using ProjectZ.InGame.GameObjects.Base.Components;
|
||
|
using ProjectZ.InGame.Map;
|
||
|
|
||
|
namespace ProjectZ.InGame.GameObjects.Dungeon
|
||
|
{
|
||
|
internal class ObjDungeon : GameObject
|
||
|
{
|
||
|
public ObjDungeon() : base("editor dungeon") { }
|
||
|
|
||
|
public ObjDungeon(Map.Map map, int posX, int posY, string dungeonName, bool updatePosition, int dungeonLevel) : base(map)
|
||
|
{
|
||
|
if (!string.IsNullOrEmpty(dungeonName))
|
||
|
Game1.GameManager.SetDungeon(dungeonName, dungeonLevel);
|
||
|
|
||
|
// this is used in side rooms of a dungeon
|
||
|
// normally this are the 2d rooms
|
||
|
if (updatePosition)
|
||
|
AddComponent(UpdateComponent.Index, new UpdateComponent(Update));
|
||
|
}
|
||
|
|
||
|
private void Update()
|
||
|
{
|
||
|
var playerPosition = new Point(
|
||
|
(int)(MapManager.ObjLink.PosX - Map.MapOffsetX * 16) / 160,
|
||
|
(int)(MapManager.ObjLink.PosY - Map.MapOffsetY * 16) / 128);
|
||
|
|
||
|
// update the player position on the dungeon map
|
||
|
Game1.GameManager.DungeonUpdatePlayerPosition(playerPosition);
|
||
|
}
|
||
|
}
|
||
|
}
|