Ejemplo n.º 1
0
    //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;
    }
Ejemplo n.º 2
0
    // 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;
    }
Ejemplo n.º 3
0
 public void OnRestart()
 {
     _dead = false;
     DeathPanel.SetActive(false);
     Cursor.lockState = CursorLockMode.Locked;
     Cursor.visible   = false;
     CheckpointsManager.LoadCheckpoint();
 }
Ejemplo n.º 4
0
 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();
 }
Ejemplo n.º 5
0
    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();
    }
Ejemplo n.º 6
0
 public void OnRestart()
 {
     OnResume();
     CheckpointsManager.LoadCheckpoint();
 }
Ejemplo n.º 7
0
 private void Awake()
 {
     checkpointsManager = GetComponentInParent <CheckpointsManager>();
     sr = GetComponentInChildren <SpriteRenderer>();
 }
Ejemplo n.º 8
0
    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);
    }
Ejemplo n.º 9
0
    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;
 }
Ejemplo n.º 11
0
 private void Start()
 {
     checkManager = GameObject.FindGameObjectWithTag("Managers").GetComponent <CheckpointsManager>();
     player       = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerController>();
     col          = GetComponent <Collider>();
 }