Exemple #1
0
        private void SpawnEnemies()
        {
            switch (activeEvent)
            {
            case Events.None:
                if (random.Next(1, 300) == 1)
                {
                    float spawnPosX = random.Next(25, desiredResolutionWidth - 25);
                    float spawnPosY = -50;
                    UFO.NewUFO(new Vector2(spawnPosX, spawnPosY));
                }
                if (random.Next(1, 380) == 1)
                {
                    float spawnPosX = random.Next(25, desiredResolutionWidth - 25);
                    float spawnPosY = -50;
                    Slicer.NewSlicer(new Vector2(spawnPosX, spawnPosY));
                }
                if (random.Next(1, 720) == 1)
                {
                    float spawnPosX = random.Next(8, desiredResolutionWidth - 8);
                    float spawnPosY = -50;
                    RayEnemy.NewRay(new Vector2(spawnPosX, spawnPosY));
                }
                if (random.Next(1, 720) == 1)
                {
                    float spawnPosX = random.Next(16, desiredResolutionWidth - 16);
                    float spawnPosY = -50;
                    Stasis.NewStasis(new Vector2(spawnPosX, spawnPosY));
                }
                break;

            case Events.AsteroidField:
                if (random.Next(1, 120) == 1)
                {
                    int   asteroidType      = random.Next(0, 4 + 1);
                    float asteroidSpawnPosX = random.Next(24, desiredResolutionWidth - 24);
                    float asteroidSpawnPosY = -50;
                    float asteroidFallSpeed = (float)random.NextDouble() * 0.2f;
                    float asteroidScale     = (float)(random.Next(80, 100 + 1)) / 100f;
                    float asteroidRotation  = (float)(random.Next(10, 100 + 1) / 2000f);
                    Asteroid.NewAsteroid(asteroidType, new Vector2(asteroidSpawnPosX, asteroidSpawnPosY), new Vector2(0f, asteroidFallSpeed / (1.1f - (asteroidScale / 100f))), asteroidRotation, asteroidScale);
                }
                break;
            }
        }
Exemple #2
0
    void Start()
    {
        _stasisScript = GetComponent <Stasis>();
        _fuelScript   = GetComponent <Fuel>();
        _rigidbody    = GetComponent <Rigidbody>();

        _wheels = new List <Transform>();

        foreach (Transform t in transform)
        {
            if (t.name == "Thruster")
            {
                _thruster = t.GetComponent <ParticleSystem>();
            }
            else if (t.name == "Exhaust")
            {
                _exhaust = t.GetComponent <ParticleSystem>();
            }
            if (t.name.Contains("Left"))
            {
                _wheels.Add(t);
            }
            if (t.name.Contains("Right"))
            {
                _wheels.Add(t);
            }
        }
        Vector3 wheelSize = _wheels[0].localScale;

        _wheelDefaultSize = wheelSize;
        _wheelClimbSize   = new Vector3(wheelSize.x, 0.7f, wheelSize.z);

        TurnOffFireEffects();

        _carState   = CarState.Driving;
        _driveState = DriveState.Park;

        if (START_POSITIONS == null)
        {
            START_POSITIONS = new List <Vector3>();
            START_POSITIONS.Add(transform.position);
        }
        _startPosition = transform.position;
        _startRotation = transform.rotation.eulerAngles;

        _currentStartPosition = -1;

        _teleport = false;

        _oldWallNormal = Vector3.zero;

        cameraRig.position    = transform.position;
        _freeLookCameraScript = cameraRig.GetComponent <FreeLookCam>();
        _mouseSpeed           = _freeLookCameraScript.m_MoveSpeed;
        _cameraTurnSpeed      = _freeLookCameraScript.m_TurnSpeed;

        _flash = GameObject.Find("Flash").GetComponent <RawImage>();

        _otherFreeLookCamerScript = cameraRig.GetComponent <ProtectCameraFromWallClip>();
        _camDistance = _otherFreeLookCamerScript.closestDistance;

        _canClimb = true;
        _drifting = false;
        _jetting  = false;
        _turbo    = false;

        _oldForward = Vector3.zero;

        _helpPad      = GameObject.Find("HelpControls");
        _helpKeyboard = GameObject.Find("HelpKeyboard");
        _helpRunes    = GameObject.Find("HelpRunes");

        if (!SHOW_CONTROLS)
        {
            _helpPad.SetActive(false);
            _helpKeyboard.SetActive(false);
        }
        else
        {
            if (StartMenu.USE_KEYBOARD)
            {
                _helpPad.SetActive(false);
            }
            else
            {
                _helpKeyboard.SetActive(false);
            }
        }
        _helpRunes.SetActive(false);

        _quitTick      = 0;
        _quitTime      = 2;
        _climbIdleTick = 0;
        _climbIdleTime = 3;
    }