// if "force" is true, the cutscene will trigger even if the player doesn't have enough hearts. private void openHeartGate(Player player) { MiniHeartDoor door = findHeartGate(); if (door != null && !door.Opened && door.Requires <= door.HeartGems && player != null) { // we got all hearts! trigger the cutscene. Scene.Add(new MiniHeartDoorUnlockCutscene(door, player)); // and save this progress. CollabModule.Instance.SaveData.OpenedMiniHeartDoors.Add(door.GetDoorSaveDataID(Scene as Level)); // remove this trigger once that it was used. RemoveSelf(); } }
public override void OnEnter(Player player) { base.OnEnter(player); MiniHeartDoor door = Scene.Entities.OfType <MiniHeartDoor>().Where(d => d.DoorID == doorID).FirstOrDefault(); if (door != null && !door.Opened && door.Requires <= door.HeartGems && player != null) { // we got all hearts! trigger the cutscene. Scene.Add(new MiniHeartDoorUnlockCutscene(door, player)); // and save this progress. CollabModule.Instance.SaveData.OpenedMiniHeartDoors.Add(door.GetDoorSaveDataID(Scene as Level)); } // this trigger is one-use. RemoveSelf(); }