private void FindRoomTitlePos(List <RoomObj> roomList, GameTypes.LevelType levelType, out Vector2 pos) { var num = 3.40282347E+38f; var num2 = -3.40282347E+38f; var num3 = 3.40282347E+38f; var num4 = -3.40282347E+38f; foreach (var current in roomList) { if (current.Name != "Boss" && (current.LevelType == levelType || (current.LevelType == GameTypes.LevelType.CASTLE && (current.Name == "Start" || current.Name == "CastleEntrance")))) { if (current.X < num) { num = current.X; } if (current.X + current.Width > num2) { num2 = current.X + current.Width; } if (current.Y < num3) { num3 = current.Y; } if (current.Y + current.Height > num4) { num4 = current.Y + current.Height; } } } pos = new Vector2((num2 + num) / 2f, (num4 + num3) / 2f); pos = new Vector2(pos.X / 1320f * 60f, pos.Y / 720f * 32f); }
public void AddLinkerRoom(GameTypes.LevelType levelType, List <RoomObj> roomList) { foreach (var current in roomList) { if (current.Name == "Linker" && current.LevelType == levelType) { AddRoom(current); } } }
public static string BuildDungeonName(GameTypes.LevelType levelType) { switch (levelType) { case GameTypes.LevelType.CASTLE: return("Castle Hamson"); case GameTypes.LevelType.GARDEN: return("Forest Abkhazia"); case GameTypes.LevelType.DUNGEON: return("The Land of Darkness"); case GameTypes.LevelType.TOWER: return("The Maya"); default: return(""); } }
static LevelEV() { // Note: this type is marked as 'beforefieldinit'. byte[] cASTLE_ENEMY_DIFFICULTY_LIST = new byte[12]; LevelEV.CASTLE_ENEMY_DIFFICULTY_LIST = cASTLE_ENEMY_DIFFICULTY_LIST; byte[] array = new byte[14]; array[0] = 1; array[4] = 1; LevelEV.GARDEN_ENEMY_DIFFICULTY_LIST = array; LevelEV.TOWER_ENEMY_DIFFICULTY_LIST = new byte[] { 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0 }; LevelEV.DUNGEON_ENEMY_DIFFICULTY_LIST = new byte[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; LevelEV.CASTLE_ASSETSWAP_LIST = new string[] { "BreakableBarrel1_Character", "BreakableBarrel2_Character", "CastleAssetKnightStatue_Character", "CastleAssetWindow1_Sprite", "CastleAssetWindow2_Sprite", "CastleBGPillar_Character", "CastleAssetWeb1_Sprite", "CastleAssetWeb2_Sprite", "CastleAssetBackTorch_Character", "CastleAssetSideTorch_Character", "CastleAssetChandelier1_Character", "CastleAssetChandelier2_Character", "CastleAssetCandle1_Character", "CastleAssetCandle2_Character", "CastleAssetFireplace_Character", "CastleAssetBookcase_Sprite", "CastleAssetBookCase2_Sprite", "CastleAssetBookCase3_Sprite", "CastleAssetUrn1_Character", "CastleAssetUrn2_Character", "BreakableChair1_Character", "BreakableChair2_Character", "CastleAssetTable1_Character", "CastleAssetTable2_Character", "CastleDoorOpen_Sprite", "CastleAssetFrame_Sprite" }; LevelEV.DUNGEON_ASSETSWAP_LIST = new string[] { "BreakableCrate1_Character", "BreakableBarrel1_Character", "CastleAssetDemonStatue_Character", "DungeonSewerGrate1_Sprite", "DungeonSewerGrate2_Sprite", "", "CastleAssetWeb1_Sprite", "CastleAssetWeb2_Sprite", "DungeonChainRANDOM2_Character", "", "DungeonHangingCell1_Character", "DungeonHangingCell2_Character", "DungeonTorch1_Character", "DungeonTorch2_Character", "DungeonMaidenRANDOM3_Character", "DungeonPrison1_Sprite", "DungeonPrison2_Sprite", "DungeonPrison3_Sprite", "", "", "DungeonBucket1_Character", "DungeonBucket2_Character", "DungeonTable1_Character", "DungeonTable2_Character", "DungeonDoorOpen_Sprite", "" }; LevelEV.TOWER_ASSETSWAP_LIST = new string[] { "BreakableCrate1_Character", "BreakableCrate2_Character", "CastleAssetAngelStatue_Character", "TowerHoleRANDOM9_Sprite", "TowerHoleRANDOM9_Sprite", "", "TowerLever1_Sprite", "TowerLever2_Sprite", "CastleAssetBackTorchUnlit_Character", "CastleAssetSideTorchUnlit_Character", "DungeonChain1_Character", "DungeonChain2_Character", "TowerTorch_Character", "TowerPedestal2_Character", "CastleAssetFireplaceNoFire_Character", "BrokenBookcase1_Sprite", "BrokenBookcase2_Sprite", "", "TowerBust1_Character", "TowerBust2_Character", "TowerChair1_Character", "TowerChair2_Character", "TowerTable1_Character", "TowerTable2_Character", "TowerDoorOpen_Sprite", "CastleAssetFrame_Sprite" }; LevelEV.GARDEN_ASSETSWAP_LIST = new string[] { "GardenUrn1_Character", "GardenUrn2_Character", "CherubStatue_Character", "GardenFloatingRockRANDOM5_Sprite", "GardenFloatingRockRANDOM5_Sprite", "GardenPillar_Character", "", "", "GardenFairy_Character", "", "GardenVine1_Character", "GardenVine2_Character", "GardenLampPost1_Character", "GardenLampPost2_Character", "GardenFountain_Character", "GardenBush1_Sprite", "GardenBush2_Sprite", "", "", "", "GardenMushroom1_Character", "GardenMushroom2_Character", "GardenTrunk1_Character", "GardenTrunk2_Character", "GardenDoorOpen_Sprite", "" }; LevelEV.SHOW_ENEMY_RADII = false; LevelEV.ENABLE_PLAYER_DEBUG = false; LevelEV.UNLOCK_ALL_ABILITIES = false; LevelEV.TESTROOM_LEVELTYPE = GameTypes.LevelType.CASTLE; LevelEV.TESTROOM_REVERSE = false; LevelEV.RUN_TESTROOM = false; LevelEV.SHOW_DEBUG_TEXT = false; LevelEV.LOAD_TITLE_SCREEN = false; LevelEV.LOAD_SPLASH_SCREEN = true; LevelEV.SHOW_SAVELOAD_DEBUG_TEXT = false; LevelEV.DELETE_SAVEFILE = false; LevelEV.CLOSE_TESTROOM_DOORS = false; LevelEV.RUN_TUTORIAL = false; LevelEV.RUN_DEMO_VERSION = false; LevelEV.DISABLE_SAVING = false; LevelEV.RUN_CRASH_LOGS = false; LevelEV.WEAKEN_BOSSES = false; LevelEV.ENABLE_OFFSCREEN_CONTROL = false; LevelEV.ENABLE_BACKUP_SAVING = true; LevelEV.CREATE_RETAIL_VERSION = true; LevelEV.SHOW_FPS = false; LevelEV.SAVE_FRAMES = false; }
public static void StoreSwappedObj(GameObj obj, GameTypes.LevelType levelType, RoomObj currentRoom) { string[] array; switch (levelType) { case GameTypes.LevelType.GARDEN: array = LevelEV.GARDEN_ASSETSWAP_LIST; break; case GameTypes.LevelType.DUNGEON: array = LevelEV.DUNGEON_ASSETSWAP_LIST; break; case GameTypes.LevelType.TOWER: array = LevelEV.TOWER_ASSETSWAP_LIST; break; default: throw new Exception("Cannot find asset swaplist for leveltype " + levelType); } var breakableObj = obj as BreakableObj; if (breakableObj != null && breakableObj.SpriteName.Contains("CastleAssetUrn")) { breakableObj.CollidesTop = false; } var flag = false; var animateableObj = obj.Clone() as IAnimateableObj; if (animateableObj != null) { var i = 0; while (i < LevelEV.CASTLE_ASSETSWAP_LIST.Length) { if (animateableObj.SpriteName == LevelEV.CASTLE_ASSETSWAP_LIST[i]) { var text = array[i]; if (text.Contains("RANDOM")) { var max = int.Parse(Convert.ToString(text[text.IndexOf("RANDOM") + 6])); var num = CDGMath.RandomInt(1, max); text = text.Replace("RANDOM" + max, num.ToString()); if (text.Contains("TowerHole")) { (animateableObj as GameObj).X += CDGMath.RandomInt(-50, 50); (animateableObj as GameObj).Y += CDGMath.RandomInt(-50, 50); if (CDGMath.RandomInt(1, 100) > 70) { (animateableObj as GameObj).Visible = false; } } if (text.Contains("GardenFloatingRock")) { animateableObj = new HoverObj(text) { Position = (animateableObj as GameObj).Position, Amplitude = CDGMath.RandomFloat(-50f, 50f), HoverSpeed = CDGMath.RandomFloat(-2f, 2f), Scale = (animateableObj as GameObj).Scale, Layer = (animateableObj as GameObj).Layer }; } } if (text == "CastleAssetFrame_Sprite") { text = "FramePicture" + CDGMath.RandomInt(1, 16) + "_Sprite"; } if (!(text != "")) { break; } animateableObj.ChangeSprite(text); flag = true; if (text.Contains("GardenFairy")) { (animateableObj as GameObj).X += CDGMath.RandomInt(-25, 25); (animateableObj as GameObj).Y += CDGMath.RandomInt(-25, 25); (animateableObj as GameObj).Opacity = 0.8f; } break; } i++; } } if (flag) { StoreObj(animateableObj as GameObj, currentRoom); } }
public void RevealSymbol(GameTypes.LevelType levelType, bool tween) { var flag = false; int index; switch (levelType) { case GameTypes.LevelType.CASTLE: index = 1; if (Game.PlayerStats.ChallengeEyeballBeaten) { flag = true; } break; case GameTypes.LevelType.GARDEN: index = 3; if (Game.PlayerStats.ChallengeSkullBeaten) { flag = true; } break; case GameTypes.LevelType.DUNGEON: index = 4; if (Game.PlayerStats.ChallengeBlobBeaten) { flag = true; } break; case GameTypes.LevelType.TOWER: index = 2; if (Game.PlayerStats.ChallengeFireballBeaten) { flag = true; } break; default: index = 5; if (Game.PlayerStats.ChallengeLastBossBeaten) { flag = true; } break; } if (flag) { m_bossDoorSprite.GetChildAt(index).TextureColor = Color.Yellow; } else { m_bossDoorSprite.GetChildAt(index).TextureColor = Color.White; } if (tween) { m_bossDoorSprite.GetChildAt(index).Opacity = 0f; Tween.To(m_bossDoorSprite.GetChildAt(index), 0.5f, Quad.EaseInOut, "delay", "1.5", "Opacity", "1"); return; } m_bossDoorSprite.GetChildAt(index).Opacity = 1f; }
static LevelEV() { // Note: this type is marked as 'beforefieldinit'. var cASTLE_ENEMY_DIFFICULTY_LIST = new byte[12]; CASTLE_ENEMY_DIFFICULTY_LIST = cASTLE_ENEMY_DIFFICULTY_LIST; var array = new byte[14]; array[0] = 1; array[4] = 1; GARDEN_ENEMY_DIFFICULTY_LIST = array; TOWER_ENEMY_DIFFICULTY_LIST = new byte[] { 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0 }; DUNGEON_ENEMY_DIFFICULTY_LIST = new byte[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; CASTLE_ASSETSWAP_LIST = new[] { "BreakableBarrel1_Character", "BreakableBarrel2_Character", "CastleAssetKnightStatue_Character", "CastleAssetWindow1_Sprite", "CastleAssetWindow2_Sprite", "CastleBGPillar_Character", "CastleAssetWeb1_Sprite", "CastleAssetWeb2_Sprite", "CastleAssetBackTorch_Character", "CastleAssetSideTorch_Character", "CastleAssetChandelier1_Character", "CastleAssetChandelier2_Character", "CastleAssetCandle1_Character", "CastleAssetCandle2_Character", "CastleAssetFireplace_Character", "CastleAssetBookcase_Sprite", "CastleAssetBookCase2_Sprite", "CastleAssetBookCase3_Sprite", "CastleAssetUrn1_Character", "CastleAssetUrn2_Character", "BreakableChair1_Character", "BreakableChair2_Character", "CastleAssetTable1_Character", "CastleAssetTable2_Character", "CastleDoorOpen_Sprite", "CastleAssetFrame_Sprite" }; DUNGEON_ASSETSWAP_LIST = new[] { "BreakableCrate1_Character", "BreakableBarrel1_Character", "CastleAssetDemonStatue_Character", "DungeonSewerGrate1_Sprite", "DungeonSewerGrate2_Sprite", "", "CastleAssetWeb1_Sprite", "CastleAssetWeb2_Sprite", "DungeonChainRANDOM2_Character", "", "DungeonHangingCell1_Character", "DungeonHangingCell2_Character", "DungeonTorch1_Character", "DungeonTorch2_Character", "DungeonMaidenRANDOM3_Character", "DungeonPrison1_Sprite", "DungeonPrison2_Sprite", "DungeonPrison3_Sprite", "", "", "DungeonBucket1_Character", "DungeonBucket2_Character", "DungeonTable1_Character", "DungeonTable2_Character", "DungeonDoorOpen_Sprite", "" }; TOWER_ASSETSWAP_LIST = new[] { "BreakableCrate1_Character", "BreakableCrate2_Character", "CastleAssetAngelStatue_Character", "TowerHoleRANDOM9_Sprite", "TowerHoleRANDOM9_Sprite", "", "TowerLever1_Sprite", "TowerLever2_Sprite", "CastleAssetBackTorchUnlit_Character", "CastleAssetSideTorchUnlit_Character", "DungeonChain1_Character", "DungeonChain2_Character", "TowerTorch_Character", "TowerPedestal2_Character", "CastleAssetFireplaceNoFire_Character", "BrokenBookcase1_Sprite", "BrokenBookcase2_Sprite", "", "TowerBust1_Character", "TowerBust2_Character", "TowerChair1_Character", "TowerChair2_Character", "TowerTable1_Character", "TowerTable2_Character", "TowerDoorOpen_Sprite", "CastleAssetFrame_Sprite" }; GARDEN_ASSETSWAP_LIST = new[] { "GardenUrn1_Character", "GardenUrn2_Character", "CherubStatue_Character", "GardenFloatingRockRANDOM5_Sprite", "GardenFloatingRockRANDOM5_Sprite", "GardenPillar_Character", "", "", "GardenFairy_Character", "", "GardenVine1_Character", "GardenVine2_Character", "GardenLampPost1_Character", "GardenLampPost2_Character", "GardenFountain_Character", "GardenBush1_Sprite", "GardenBush2_Sprite", "", "", "", "GardenMushroom1_Character", "GardenMushroom2_Character", "GardenTrunk1_Character", "GardenTrunk2_Character", "GardenDoorOpen_Sprite", "" }; SHOW_ENEMY_RADII = false; ENABLE_PLAYER_DEBUG = false; UNLOCK_ALL_ABILITIES = false; TESTROOM_LEVELTYPE = GameTypes.LevelType.CASTLE; TESTROOM_REVERSE = false; RUN_TESTROOM = false; SHOW_DEBUG_TEXT = false; LOAD_TITLE_SCREEN = false; LOAD_SPLASH_SCREEN = true; SHOW_SAVELOAD_DEBUG_TEXT = false; DELETE_SAVEFILE = false; CLOSE_TESTROOM_DOORS = false; RUN_TUTORIAL = false; RUN_DEMO_VERSION = false; DISABLE_SAVING = false; RUN_CRASH_LOGS = false; WEAKEN_BOSSES = false; ENABLE_OFFSCREEN_CONTROL = false; ENABLE_BACKUP_SAVING = true; CREATE_RETAIL_VERSION = true; SHOW_FPS = false; SAVE_FRAMES = false; }