//public bool detected = false; private void Awake() { GM = GetComponent <GameManager>(); checkpointsManager = GetComponent <CheckpointsManager>(); player = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerController>(); inputs = GameObject.FindGameObjectWithTag("Managers").GetComponent <ImputManager>(); camera = GameObject.FindGameObjectWithTag("TPCamera").GetComponent <CamaraAdjustment>(); playerAnims = player.GetComponentInChildren <PlayerAnimations>(); HUD = GetComponent <HudManager>(); weapon = player.GetComponentInChildren <WeaponManager>(); inv = GameObject.FindGameObjectWithTag("Inventory").GetComponentInChildren <Inventory>(); Items = player.GetComponentInChildren <Items>(); sound = GetComponent <SoundManager>(); peace = player.GetComponentInChildren <HealthPeace>(); CC = player.GetComponent <CloseCombat>(); //Hit = playerAnims.GetComponentInChildren<HitArea>(); itemDetector = Items.GetComponent <ItemDetector>(); throwImpact = player.GetComponentInChildren <ThrowImpact>(); stealth = player.GetComponent <StealthSystem>(); pauseMn = gameObject.GetComponent <PauseManager>(); IWM = player.GetComponentInChildren <ImprovedWeaponManager>(); Cursor.visible = false; Cursor.lockState = CursorLockMode.Locked; }
// Use this for initialization void Start() { chkmngr = GameObject.FindGameObjectWithTag("CheckptsManager").GetComponent <CheckpointsManager>(); if (Globals.isMulti) { if (GetComponent <PhotonView>().isMine) { chkmngr.Player = gameObject; GameObject.FindObjectOfType <LucidityBar>().Player = gameObject.GetComponent <Stuff>(); } } else { chkmngr.Player = GameObject.Find("Corps"); sphereGroups = GameObject.FindGameObjectsWithTag("Sphere"); } enabled = !(Globals.isMulti && !GetComponentInParent <PhotonView>().isMine); if (TextInter != null) { TextInter = GameObject.Find("TextInter").GetComponent <Text>(); } //endMenu = GameObject.Find("EndMenu"); Player = gameObject; Bruitage = GameObject.Find("Bruitage"); endMenu = GameObject.Find("Menus").transform.GetChild(2).gameObject; }
public void OnRestart() { _dead = false; DeathPanel.SetActive(false); Cursor.lockState = CursorLockMode.Locked; Cursor.visible = false; CheckpointsManager.LoadCheckpoint(); }
private void OnTriggerEnter(Collider other) { if (!other.CompareTag(Constants.TAG_PLAYER)) { return; } GameLevel.CurrentLevelInstance.SaveLevelState(false); CheckpointsManager.CreateCheckpoint(); CheckpointsManager.CheckpointsVisited.Add(GameLevel.CurrentLevelInstance.LevelIndex); TriggerCollider.enabled = false; FlagAnimation.Play(); }
public PlayStrategy(RocketController rocketController) { RocketController = rocketController; RocketController.OnRocketDied += EndLevel; Config = GameInstance.Instance.Config; Camera = new FollowCamera(RocketController.Rocket.gameObject); Hud = (GameHud)HudBase.Instance; CheckpointsManager = new CheckpointsManager(); CheckpointsManager.OnCheckpointActivated += UpdateCheckpointScore; CheckpointsManager.GenerateCheckpoints(Config.CheckpointsCount, Config.StartCheckpointScore, Config.CheckpointsInterval); State = SaveSystem.LoadState(); }
public void OnRestart() { OnResume(); CheckpointsManager.LoadCheckpoint(); }
private void Awake() { checkpointsManager = GetComponentInParent <CheckpointsManager>(); sr = GetComponentInChildren <SpriteRenderer>(); }
public void SaveLevelState(bool endingOfLevel) { if (endingOfLevel && LoadingFadeAnimation) { LoadingFadeAnimation.Play(Constants.ANIM_FADE_OUT); } var newSave = new LevelState(); // If it is not another level, boxes on player should be treated as normal boxes if (!endingOfLevel) { var initialHeldBox = GameObject.FindWithTag(Constants.TAG_HELD); if (initialHeldBox) { initialHeldBox.tag = Constants.TAG_BOX; } } // Mark all boxes to move to next scene var heldBox = GameObject.FindWithTag(Constants.TAG_HELD); if (heldBox) { // Box that will send raycast var raycastOrigin = heldBox.transform.position; // All Boxes layer const int layerMask = 1 << Constants.LAYER_FLOATING | 1 << Constants.LAYER_DEFAULT; // While boxes on top of origin can be found, mark them as held while (Physics.Raycast(raycastOrigin, transform.TransformDirection(Vector3.up), out var hit, Mathf.Infinity, layerMask)) { var foundBox = hit.collider.gameObject; // No boxes found on top of original if (!foundBox.CompareTag(Constants.TAG_BOX)) { break; } foundBox.tag = Constants.TAG_HELD; raycastOrigin = foundBox.transform.position; } // Save marked boxes var heldBoxes = GameObject.FindGameObjectsWithTag(Constants.TAG_HELD); CheckpointsManager.PlayerBoxes = new LevelState.SavedBox[heldBoxes.Length]; for (var i = 0; i < heldBoxes.Length; i++) { heldBoxes[i].transform.parent = PlayerInstance.transform; var boxComponent = heldBoxes[i].GetComponent <Box>(); CheckpointsManager.PlayerBoxes[i] = new LevelState.SavedBox(boxComponent.isMetal, boxComponent.transform.localPosition); } Player.playerActive = true; Player.isMovingBox = false; } // Save all boxes state var boxesOnLevel = GameObject.FindGameObjectsWithTag(Constants.TAG_BOX); newSave.Boxes = new LevelState.SavedBox[boxesOnLevel.Length]; for (var i = 0; i < boxesOnLevel.Length; i++) { var boxComponent = boxesOnLevel[i].GetComponent <Box>(); newSave.Boxes[i] = new LevelState.SavedBox(boxComponent.isMetal, boxComponent.transform.position); } // Save all generators state by their position var generatorsOnLevel = GameObject.FindGameObjectsWithTag(Constants.TAG_GENERATOR); newSave.GeneratorsActivatedByPos = new Dictionary <Vector3, bool>(); foreach (var generator in generatorsOnLevel) { var generatorComponent = generator.GetComponent <Generator>(); newSave.GeneratorsActivatedByPos.Add(generator.transform.position, generatorComponent.Icon.color == Color.green); } // Save all mirrors state by their position var mirrorsOnLevel = GameObject.FindGameObjectsWithTag(Constants.TAG_MIRROR); newSave.MirrorsByPos = new Dictionary <Vector3, LevelState.SavedMirror>(); foreach (var mirror in mirrorsOnLevel) { var mirrorComponent = mirror.GetComponent <Mirror>(); var mirrorSave = new LevelState.SavedMirror(mirror.transform.rotation, mirrorComponent.mode, mirrorComponent.dir); newSave.MirrorsByPos.Add(mirror.transform.position, mirrorSave); } // Save water state var waterOnLevel = FindObjectOfType <WaterRise>(); if (waterOnLevel) { var serializedLayers = waterOnLevel.SerializeWaterLayers(); newSave.LayersOfWaterObject = serializedLayers; } CheckpointsManager.SaveLevelState(LevelIndex, newSave); }
private void Start() { CurrentLevelInstance = this; LevelsManager.CurrentLevel = LevelIndex; // Restore level state if there was any var levelState = CheckpointsManager.LoadLevelState(LevelIndex); if (levelState != null) { RecreateLevelState(levelState); } // Put player & cloud in their initial places // (Unless it is decided by checkpoint manager) if (LevelsManager.LoadedByCheckpoint) { LevelsManager.LoadedByCheckpoint = false; CheckpointsManager.RestorePlayerCloudPos(); } else { if (LevelsManager.EnteredFromLeft) { PlayerInstance.MoveToPoint(PlayerSpawnPoint); Cloud.me.transform.position = CloudSpawnPoint.position; } else { PlayerInstance.MoveToPoint(PlayerExitSpawnPoint); Cloud.me.transform.position = CloudExitSpawnPoint.position; } } // Restore player boxes if there were any if (CheckpointsManager.PlayerBoxes != null) { foreach (var boxSaved in CheckpointsManager.PlayerBoxes) { var box = Instantiate(boxSaved.IsMetal ? MetalBoxPrefab : BoxPrefab); var boxTransform = box.transform; boxTransform.parent = PlayerInstance.transform; boxTransform.localPosition = boxSaved.LocalPos; boxTransform.parent = null; } CheckpointsManager.PlayerBoxes = null; } // First game launch save if (!CheckpointsManager.InitialCheckpointSaved) { CheckpointsManager.InitialCheckpointSaved = true; SaveLevelState(false); CheckpointsManager.CreateCheckpoint(); } if (LoadingFadeAnimation) { LoadingFadeAnimation.Play(Constants.ANIM_FADE_IN); } }
private void Awake() { Instance = this; }
private void Start() { checkManager = GameObject.FindGameObjectWithTag("Managers").GetComponent <CheckpointsManager>(); player = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerController>(); col = GetComponent <Collider>(); }