Example #1
0
    public void MiningState(bool on)
    {
        currentAsteroid.GetComponent <Scr_AsteroidBehaviour>().attached = !currentAsteroid.GetComponent <Scr_AsteroidBehaviour>().attached;

        if (on)
        {
            playerShipRb.velocity               = Vector2.zero;
            playerShipRb.isKinematic            = true;
            playerShipMovement.canControlShip   = false;
            playerShipPrediction.predictionTime = 0;
            mainCamera.mining = true;
            lineRenderer.SetActive(false);
            playerShipProxCheck.ClearInterface(false);
        }

        else
        {
            playerShipRb.isKinematic            = false;
            playerShipMovement.canControlShip   = true;
            playerShipPrediction.predictionTime = 6;
            mainCamera.mining   = false;
            miningLaser.enabled = false;
            lineRenderer.SetActive(true);
            playerShipProxCheck.ClearInterface(true);
        }
    }
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.CompareTag("PlayerShip"))
        {
            if (!discovered)
            {
                sighted = true;
                planet.SetActive(true);
                playerShipStats.GetExperience(gameManager.sightedXP);
                playerShipStats.GetComponent <Scr_PlayerShipEffects>().ConfettiEffect();
                discoveryPanelAnim.SetBool("Show", true);

                Invoke("HideDiscoveryPanel", 3f);
            }

            playerShipProxCheck.ClearInterface(false);
            playerShipHalo.disableHalo = true;
        }
    }
 private void EnterShipFromSpace()
 {
     playerShipProxCheck.ClearInterface(true);
     GetComponent <Scr_AstronautEffects>().breathingBool = false;
     playerShip.GetComponent <Scr_PlayerShipMovement>().astronautOnBoard = true;
     playerShip.GetComponent <Scr_PlayerShipMovement>().canControlShip   = true;
     playerShip.GetComponent <Scr_PlayerShipMovement>().canRotateShip    = true;
     playerShip.GetComponent <Scr_PlayerShipActions>().doingSpaceWalk    = false;
     cableVisuals.printCable = false;
     cableVisuals.ResetCable();
     gameManager.Gravity(true);
     gameObject.SetActive(false);
 }
Example #4
0
    public void Death()
    {
        if (!diedOnce)
        {
            diedOnce = true;

            if (playerShipMovement.astronautOnBoard)
            {
                playerShipMovement.canControlShip = false;
                playerShipMovement.canRotateShip  = false;
                playerShipMovement.landedOnce     = false;
                Scr_PlayerData.dead = true;
                rb.velocity         = Vector3.zero;
                rb.isKinematic      = true;
                shipVisuals.gameObject.SetActive(false);
                playerShipEffects.PlayParticleSystem(playerShipEffects.explosion);
                Scr_MusicManager.Instance.PlaySound(explosion.Sound, 0);
                playerShipEffects.StopAllThrusters();
                collider.enabled = false;
                playerShipProxCheck.ClearInterface(false);
                playerShipHalo.disableHalo          = true;
                savedPrediction                     = playerShipPrediction.predictionTime;
                playerShipPrediction.predictionTime = 0;

                GetComponentInChildren <Scr_PlayerShipDeathCheck>().enabled = false;

                Invoke("Fade", fadeTime);
            }

            else
            {
                astronautStats.visuals.transform.position = new Vector3(astronautStats.visuals.transform.position.x, astronautStats.visuals.transform.position.y, astronautStats.initialVisualPos.z + 50);
                astronautMovement.canMove = false;
                astronautAnim.SetTrigger("Death");

                switch (playerShipMovement.currentPlanet.GetComponent <Scr_Planet>().planetType)
                {
                case Scr_Planet.PlanetType.EarthLike:
                    astronautEffects.DeathParticles(Scr_AstronautEffects.DeathType.Normal);
                    break;

                case Scr_Planet.PlanetType.Frozen:
                    astronautEffects.DeathParticles(Scr_AstronautEffects.DeathType.Ice);
                    break;

                case Scr_Planet.PlanetType.Volcanic:
                    astronautEffects.DeathParticles(Scr_AstronautEffects.DeathType.Fire);
                    break;

                case Scr_Planet.PlanetType.Arid:
                    astronautEffects.DeathParticles(Scr_AstronautEffects.DeathType.Normal);
                    break;

                case Scr_Planet.PlanetType.Toxic:
                    astronautEffects.DeathParticles(Scr_AstronautEffects.DeathType.Posion);
                    break;
                }

                Invoke("Fade", fadeTime);
            }

            Invoke("Respawn", respawnTime);
        }
    }