public HiddenRoomCoverManager(BaseLevel pLevel) : base(false) { Instance = this; _level = pLevel; //Load hidden room from tmx var map = _level.LevelMap.MapData; var hiddenRoomData = map.ObjectGroups?.Where(og => og.Name == "Hidden Room Cover").FirstOrDefault()?.Objects .FirstOrDefault(ob => ob.Name == "Hidden Room Cover"); var hiddenRoomColliderData = map.ObjectGroups?.Where(og => og.Name == "Hidden Room Cover").FirstOrDefault() ?.Objects .FirstOrDefault(ob => ob.Name == "Hidden Room Collider"); if (hiddenRoomData == null || hiddenRoomColliderData == null) { Console.WriteLine( $"ERROR: Hidden Room Cover or Collider Tmx objects not found in Hidden Room Cover object layer"); } else { _hiddenRoomCover = new Sprite("data/Hidden Room Cover.png", false, false); _hiddenRoomCover.width = Mathf.Round(hiddenRoomData.Width); _hiddenRoomCover.height = Mathf.Round(hiddenRoomData.Height); _hiddenRoomCover.SetOrigin(0, _hiddenRoomCover.texture.height); _level.AddChild(_hiddenRoomCover); _hiddenRoomCover.rotation = hiddenRoomData.rotation; _hiddenRoomCover.SetXY(hiddenRoomData.X, hiddenRoomData.Y); _hiddenRoomCoverCollider = new Sprite("data/White Texture.png"); _hiddenRoomCoverCollider.width = Mathf.Round(hiddenRoomColliderData.Width); _hiddenRoomCoverCollider.height = Mathf.Round(hiddenRoomColliderData.Height); _hiddenRoomCoverCollider.SetOrigin(0, _hiddenRoomCoverCollider.texture.height); _level.AddChild(_hiddenRoomCoverCollider); _hiddenRoomCoverCollider.rotation = hiddenRoomColliderData.rotation; _hiddenRoomCoverCollider.SetXY(hiddenRoomColliderData.X, hiddenRoomColliderData.Y); _hiddenRoomCoverCollider.visible = false; Console.WriteLine( $"{_hiddenRoomCoverCollider}: {_hiddenRoomCoverCollider.scaleX} | {_hiddenRoomCoverCollider.scaleY}"); CoroutineManager.StartCoroutine(Start(), this); } }
FlashbackPickup AddFlashbackPickupToLevel(TiledObject flashData) { string objUniqueName = flashData.Name.Trim(); flashData.Name = flashData.Name.Replace("Pickup ", "").Trim().ToLower(); int counter = 0; while (_flashPickupsMap.ContainsKey(objUniqueName.ToLower())) { objUniqueName = flashData.Name.Trim().ToLower() + "_" + counter; counter++; } int flashNum = int.TryParse(flashData.Name.Replace("flashback ", ""), out flashNum) ? flashNum : 6; var flashPickup = new FlashbackPickup($"data/flashback_pick_up_{flashNum}.png", flashData, 1, 1) { name = objUniqueName }; _level.AddChild(flashPickup); flashPickup.Enabled = false; flashPickup.width = Mathf.Round(flashData.Width); flashPickup.height = Mathf.Round(flashData.Height); flashPickup.SetOrigin(0, flashPickup.texture.height); //Tmx use origin left,bottom :/ flashPickup.rotation = flashData.rotation; flashPickup.SetXY(flashData.X, flashData.Y); return(flashPickup); }
void AddHistoryPickupToLevel(string pName, string historyImageFileName, float pX, float pY, float pRotation, float pWidth, float pHeight) { string objUniqueName = pName.Trim(); int counter = 0; while (_pickupsMap.ContainsKey(objUniqueName.ToLower())) { objUniqueName = pName.Trim() + "_" + counter; counter++; } var history = new HistoryPickUp(historyImageFileName, "data/History Pickup.png", 1, 1) { name = objUniqueName }; _pickupsMap.Add(objUniqueName.ToLower(), history); _level.AddChild(history); history.width = Mathf.Round(pWidth); history.height = Mathf.Round(pHeight); history.SetOrigin(0, history.texture.height); history.rotation = pRotation; history.SetXY(pX, pY); }
FlashBackTrigger AddFlashbackTriggerToLevel(TiledObject flashData) { string objUniqueName = flashData.Name.Trim().ToLower(); int counter = 0; while (_flashTriggersMap.ContainsKey(objUniqueName)) { objUniqueName = flashData.Name.Trim() + "_" + counter; counter++; } flashData.Name = objUniqueName; var flashTrigger = new FlashBackTrigger("data/Flashback Pickup.png", flashData) { name = objUniqueName }; _level.AddChild(flashTrigger); flashTrigger.width = Mathf.Round(flashData.Width); flashTrigger.height = Mathf.Round(flashData.Height); flashTrigger.SetOrigin(0, flashTrigger.texture.height); //Tmx use origin left,bottom :/ flashTrigger.rotation = flashData.rotation; flashTrigger.SetXY(flashData.X, flashData.Y); return(flashTrigger); }
private void AddDoor(string doorName, bool isOpenForever, bool isOneSided, float pX, float pY, float rot, float pWidth, float pHeight) { var door = new Door(isOneSided, "data/Door0.png", 2, 2) { name = doorName, IsOpenForever = isOpenForever }; _doorsMap.Add(doorName, door); _level.AddChild(door); door.width = Mathf.Round(pWidth); door.height = Mathf.Round(pHeight); door.SetOrigin(0, door.texture.height / 2f); //2 rows door.rotation = rot; door.SetXY(pX, pY); }
private void AddDarkHall(string pName, float pX, float pY, float rot, float pWidth, float pHeight) { string numberString = pName.Replace("Dark Hall ", ""); var darkHall = new DarkHall("data/darkhall" + numberString + ".png"); _darkTriggersMap.Add(pName, darkHall); darkHall.width = Mathf.Round(pWidth); darkHall.height = Mathf.Round(pHeight); darkHall.SetOrigin(0, darkHall.texture.height); _level.AddChild(darkHall); darkHall.rotation = rot; darkHall.SetXY(pX, pY); Console.WriteLine($"{darkHall}: {darkHall.scaleX} | {darkHall.scaleY}"); }