private void Awake() { if (instance == null) { instance = this; exitDoor = FindObjectOfType <ExitDoor>(); player = FindObjectOfType <PlayerController>(); return; } Destroy(instance); }
void Awake() { if (instance == null) { instance = this; } else if (instance != this) { Destroy(gameObject); } }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var o = JObject.Load(reader); var id = GetStringTokenValue(o, "id"); var x = GetIntTokenValue(o, "x") ?? 0; var y = GetIntTokenValue(o, "y") ?? 0; var width = GetIntTokenValue(o, "width") ?? 0; var height = GetIntTokenValue(o, "height") ?? 0; var rect = new Rectangle(x, y, width, height); Entity entity; switch (id) { case "key": entity = new Key(rect); break; case "double_jump": entity = new DoubleJump(rect); break; case "door": entity = new Door(rect); break; case "button": entity = new Button(rect); ((Button)entity).WallMounted = GetBoolTokenValue(o, "wallMounted", false); ((Button)entity).AttatchFace = (Face)GetIntTokenValue(o, "Face", 0); break; case "exit_door": entity = new ExitDoor(rect); break; case "note": entity = new Note(rect); ((Note)entity).Messages = GetStringListTokenValue(o, "Messages"); break; default: entity = new Entity(rect); break; } entity.Gravity = GetBoolTokenValue(o, "gravity", true); return(entity); }
public Level IntroLevel() { var lvl = new Level(clientSize.Size, "Salutations, voyageur"); var exitDoor = new ExitDoor(new Rectangle(1389, 693, 85, 140)); lvl.AddObject(exitDoor); var textBitmap = new Bitmap(clientSize.Width, clientSize.Height); DrawText(textBitmap, "Use Escape to see controls.\nThe goal is to get to the door.\nAnd beware of time paradoxes!", clientSize, StringAlignment.Near); lvl.AddObject(new Sprite( new RectangleF(clientSize.X, clientSize.Y + 100, clientSize.Width, clientSize.Height), textBitmap)); return(lvl); }
public Level Level4() { var lvl = new Level(clientSize.Size, "Level 4"); var exitDoor = new ExitDoor(new Rectangle(148, 174, 85, 140), true); lvl.AddObject(new Switch(new Rectangle(291, 661, 48, 171), player => exitDoor.Open())); lvl.AddObject(exitDoor); lvl.AddObjects(new MovingPlatform(new PointF(1010, 566), new PointF(1010, 253), 3, 1).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(126, 314), 3).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(567, 505), 1).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(758, 631), 1).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(822, 253), 1).CreatePlatform()); lvl.Player.Position = new PointF(403, 217); lvl.AddObject(new TimeTravelBox(new Rectangle(574, 391, 115, 115), 350)); return(lvl); }
public Level Level6() { var lvl = new Level(clientSize.Size, "Boxes"); var exitDoor = new ExitDoor(new Rectangle(1412, 553, 85, 140), true); lvl.AddObject(new Switch(new Rectangle(291, 143, 48, 171), player => exitDoor.Open())); lvl.AddObject(exitDoor); lvl.AddObjects(new Platform(new PointF(251, 314), 1).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(563, 566), 2).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(883, 613), 1).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(946, 407), 1).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(1390, 693), 1).CreatePlatform()); lvl.AddObject(new TimeTravelBox(new Rectangle(563, 439, 127, 127), 200)); lvl.AddObject(new TimeTravelBox(new Rectangle(698, 451, 115, 115), 200)); lvl.AddObject(new TimeTravelBox(new Rectangle(954, 292, 115, 115), 200)); lvl.Player.Position = new PointF(603, 342); return(lvl); }
public Level Level5() { var lvl = new Level(clientSize.Size, "Carefully"); var exitDoor = new ExitDoor(new Rectangle(84, 333, 85, 140), true); lvl.AddObject(new Switch(new Rectangle(1445, 660, 48, 171), player => exitDoor.Open())); lvl.AddObject(exitDoor); lvl.AddObjects(new Platform(new PointF(251, 725), 1).CreatePlatform()); lvl.AddObjects(new MovingPlatform(new PointF(441, 660), new PointF(441, 346), 3, 1).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(630, 620), 1).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(1097, 379), 1).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(697, 346), 1).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(1121, 652), 1).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(1249, 587), 1).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(825, 281), 1).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(63, 473), 2).CreatePlatform()); lvl.AddObject(new TimeTravelBox(new Rectangle(1104, 264, 115, 115), 300)); lvl.AddObject(new Box(new Rectangle(952, 662, 169, 169))); return(lvl); }
public Level Level3() { var lvl = new Level(clientSize.Size, "Platforms"); var exitDoor = new ExitDoor(new Rectangle(25, 113, 85, 140), true); lvl.AddObject(new Switch(new Rectangle(1365, 661, 48, 171), player => exitDoor.Open())); lvl.AddObjects(new Platform(new PointF(0, 566), 3).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(0, 253), 1).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(506, 566), 1).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(694, 693), 3).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(1073, 628), 1).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(884, 440), 1).CreatePlatform()); lvl.AddObjects(new Platform(new PointF(566, 253), 1).CreatePlatform()); lvl.AddObjects(new MovingPlatform(new PointF(694, 375), new PointF(694, 253), 1.5f, 1).CreatePlatform()); lvl.AddObjects(new MovingPlatform(new PointF(441, 253), new PointF(131, 253), 3, 1).CreatePlatform()); lvl.AddObject(new TimeTravelBox(new Rectangle(1079, 517, 115, 115), 240)); lvl.Player.Position = new PointF(131, 469); lvl.AddObject(exitDoor); return(lvl); }
private IEnumerator Generatelevel() { _levelData = GenerateAndRenderLevel(); yield return(new WaitForEndOfFrame()); GenPathFinder.GenerateAstar(_levelData); yield return(new WaitForEndOfFrame()); var startingRoom = _levelData.StartingRoom.GetComponent <ObjectSpawner>(); Player = startingRoom.SpawnObject(Player); CVcam.Follow = Player.transform; ExitDoor = InitializeEndRoom(_levelData); var totalRooms = _levelData.LevelSize.x * _levelData.LevelSize.y; LevelEnemiesPlacer.PlaceEnemiesAsPerDifficulty(_levelData, totalRooms - 1); }
void Awake() { button = GameObject.FindGameObjectWithTag (Tags.button).GetComponent<DoorButton>(); door = GameObject.FindGameObjectWithTag (Tags.door).GetComponent<ExitDoor>(); }
public void AddExitDoor(ExitDoor door) { _exitDoors.Add(door); }
private void OnExitDoorEntered(GameObject entity) { ExitDoor?.Invoke(entity); }
public void ResolveInteraction(string interactionId, GameObject obj) { Debug.Log("Resolving interaction: " + interactionId); if (interactionId == "breakable_door_00") { GameObject.Find("InputController").GetComponent <InputController>().ActionTutorialPass(); Player.GetComponentInChildren <Animator>().SetBool("headbutt", true); } else if (interactionId == "exit_door_00" || interactionId == "exit_door_01" || interactionId == "exit_door_02" || interactionId == "exit_door_04") { ExitDoor exitDoor = obj.GetComponent <ExitDoor>(); if (!exitDoor.usable) { return; } exitDoor.usable = false; Player.GetComponent <CharacterController2D>().WalkRightEndlessly = true; if (interactionId == "exit_door_00") { GameObject depthWall = GameObject.FindGameObjectWithTag("DepthWall"); Transform depthWallTransform = depthWall.transform; depthWallTransform.position = new Vector3( depthWallTransform.position.x, depthWallTransform.position.y, -5.0f); } LevelTransitionManager.Instance.LoadNextLevel(); } else if (interactionId == "wall_fish_00" || interactionId == "wall_fish_01" || interactionId == "wall_fish_02") { RotatingWheel rotatingWheel = obj.GetComponent <RotatingWheel>(); if (!rotatingWheel.usable) { return; } rotatingWheel.Rotate(); } else if (interactionId == "wheel_puzzle_ok") { StartCoroutine(WheelPuzzleActions()); } else if (interactionId == "exit_door_desert") { ExitDoorDesert door = obj.GetComponent <ExitDoorDesert>(); if (!door.usable) { return; } if (door.numberTimesUsed == 0 || door.numberTimesUsed == 1) { Player.GetComponent <CharacterInteractions>().InteractionsEnabled = false; Player.GetComponent <CharacterController2D>().WalkRightEndlessly = true; StartCoroutine(TransitionDesert(door)); } else { door.usable = false; Player.GetComponent <CharacterInteractions>().InteractionsEnabled = false; Player.GetComponent <CharacterController2D>().WalkRightEndlessly = true; LevelTransitionManager.Instance.LoadNextLevel(); } } }
private void Start() { ExitDoor = FindObjectOfType <ExitDoor>(); }
void Start() { door = GameObject.FindGameObjectWithTag("Door").GetComponent<ExitDoor>(); buttonBeep = this.GetComponent<AudioSource> (); }