コード例 #1
0
    void startOver()
    {
        curTime        = waveTime;
        curLaunchStage = launchStage.toAtmosphere;

        Debug.Log("STartover");
    }
コード例 #2
0
 void reachedCeiling()
 {
     Debug.Log("Ceiling!!");
     curTime        = RocketShrinkTime;
     curLaunchStage = launchStage.toInfinity;
     Smoke.SetActive(false);
     CeilingHole.SetActive(false);
 }
コード例 #3
0
    public void resetLaunch()
    {
        startLaunch = false;
        waterRend.material.SetFloat("_DispAmount", 0.06f);
        waterRend.material.SetTexture("_DispTex", waterWavesTex);
        Water.GetComponent <ScrollUVWave>().scrollSpeed = 0.085f;
#pragma warning disable 0618
        Smoke.GetComponent <ParticleSystem>().emissionRate = 10;
#pragma warning restore 0618
        Smoke.SetActive(false);
        // Atmosphere.transform.position = new Vector3(0,0,0);
        Atmosphere.SetActive(false);
        //  CeilingRift.transform.position = new Vector3(0, 0, 0);
        CeilingRift.transform.localPosition = new Vector3(CeilingRift.transform.localPosition.x, ceilingHeight * 5, CeilingRift.transform.localPosition.z);
        CeilingRift.SetActive(false);
        CeilingHole.SetActive(true);
        curLaunchStage = launchStage.waiting;
        Destroy(FuelThruster1.GetComponent <Rigidbody>());
        Destroy(FuelThruster2.GetComponent <Rigidbody>());
        Destroy(FuelTank.GetComponent <Rigidbody>());
        FuelThruster1.transform.parent = Shuttle.transform;

        FuelThruster2.transform.parent = Shuttle.transform;

        FuelTank.transform.parent         = Shuttle.transform;
        siloDoor1.transform.localPosition = siloDoor1StartPos;
        siloDoor2.transform.localPosition = siloDoor2StartPos;

        Shuttle.transform.localPosition = ShuttleStartPos;
        Shuttle.transform.localRotation = ShuttleStartRot;
        Shuttle.transform.localScale    = startLocalScale;

        FuelTank.transform.localPosition = FuelTankStartPos;
        FuelTank.transform.localRotation = FuelTankStartRot;
        FuelTank.transform.localScale    = Vector3.one;

        FuelThruster1.transform.localPosition = FuelThruster1StartPos;
        FuelThruster1.transform.localRotation = FuelThruster1StartRot;
        FuelThruster1.transform.localScale    = Vector3.one;

        FuelThruster2.transform.localPosition = FuelThruster2StartPos;
        FuelThruster2.transform.localRotation = FuelThruster2StartRot;
        FuelThruster2.transform.localScale    = Vector3.one;

        Start();
    }
コード例 #4
0
    // Use this for initialization
    void Start()
    {
        levelState      = LevelControl.Instance;
        startLocalScale = Shuttle.transform.localScale;
        // Vector3 atmosPos = new Vector3(Atmosphere.transform.position.x, Atmosphere.transform.position.y + atmosphereHeight, Atmosphere.transform.position.z);
        Atmosphere.transform.localPosition += Vector3.up * atmosphereHeight * 5;

        CeilingHole.SetActive(true);
        CeilingRift.SetActive(false);
        // Vector3 CeilingPos = new Vector3(CeilingRift.transform.position.x, CeilingRift.transform.position.y + ceilingHeight, CeilingRift.transform.position.z);
        CeilingRift.transform.localPosition = new Vector3(CeilingRift.transform.localPosition.x, ceilingHeight * 5, CeilingRift.transform.localPosition.z);

        curLaunchStage = launchStage.start;

        speed         = stageOneSpeed;
        curTime       = startTime;
        waterRend     = Water.GetComponent <Renderer>();
        waterWavesTex = waterRend.material.GetTexture("_DispTex");

        FuelThruster1Flame.transform.localScale = new Vector3(0, 0, 0);
        FuelThruster1Flame.SetActive(false);
        FuelThruster2Flame.transform.localScale = new Vector3(0, 0, 0);
        FuelThruster2Flame.SetActive(false);

        for (int i = 0; i < ShuttleThrusters.Length; i++)
        {
            ShuttleThrusters[i].transform.localScale = new Vector3(0, 0, 0);
            ShuttleThrusters[i].SetActive(false);
        }

        //store values for reset
        ShuttleStartPos       = Shuttle.transform.localPosition;
        FuelTankStartPos      = FuelTank.transform.localPosition;
        FuelThruster1StartPos = FuelThruster1.transform.localPosition;
        FuelThruster2StartPos = FuelThruster2.transform.localPosition;
        siloDoor1StartPos     = siloDoor1.transform.localPosition;
        siloDoor2StartPos     = siloDoor2.transform.localPosition;
        ShuttleStartRot       = Shuttle.transform.localRotation;
        FuelTankStartRot      = FuelTank.transform.localRotation;
        FuelThruster1StartRot = FuelThruster1.transform.localRotation;
        FuelThruster2StartRot = FuelThruster2.transform.localRotation;
    }
コード例 #5
0
    void reachedAtmosphere()
    {
        Debug.Log("Atmosphere!!");
        curTime                   = startTime;
        curLaunchStage            = launchStage.toCeiling;
        speed                     = stageTwoSpeed;
        FuelTank.transform.parent = null;
        Rigidbody FuelTankRB = FuelTank.AddComponent <Rigidbody>();

        FuelTankRB.useGravity = false;
        FuelTankRB.AddForce(0, .1f, -.15f, ForceMode.Impulse);
        FuelTankRB.AddTorque(0, 0, -.25f, ForceMode.Impulse);
        FuelThruster1.transform.parent = null;
        Rigidbody FuelThruster1RB = FuelThruster1.AddComponent <Rigidbody>();

        FuelThruster1RB.useGravity = false;
        FuelThruster1RB.AddForce(.15f, .1f, -.15f, ForceMode.Impulse);
        FuelThruster1RB.AddTorque(-.15f, 0, -.25f, ForceMode.Impulse);
        FuelThruster2.transform.parent = null;
        Rigidbody FuelThruster2RB = FuelThruster2.AddComponent <Rigidbody>();

        FuelThruster2RB.useGravity = false;
        FuelThruster2RB.AddForce(-.15f, .1f, -.15f, ForceMode.Impulse);
        FuelThruster2RB.AddTorque(-.15f, 0, -.25f, ForceMode.Impulse);
        FuelThruster1Flame.SetActive(false);
        FuelThruster2Flame.SetActive(false);
#pragma warning disable 0618
        Smoke.GetComponent <ParticleSystem>().emissionRate = 0;
#pragma warning restore 0618

        waterRend.material.SetFloat("_DispAmount", 0.06f);
        waterRend.material.SetTexture("_DispTex", waterWavesTex);
        Water.GetComponent <ScrollUVWave>().scrollSpeed = 0.085f;
        CeilingRift.SetActive(true);
        UAudioManager.Instance.PlayEvent("Shuttle_Atmosphere", this.gameObject);
    }
コード例 #6
0
 void Done()
 {
     curLaunchStage = launchStage.Done;
     startLaunch    = false;
 }
コード例 #7
0
    // Update is called once per frame
    void Update()
    {
        if(musicSingleton == null)
        {
            if(MusicSingleton.Instance != null)
            {
                musicSingleton = MusicSingleton.Instance;
                restoreVolume = musicSingleton.volume;
            }
        }
        else
        {
            if(sequenceTimer < sequenceTime)
            {
                musicSingleton.volume -= .5f * Time.deltaTime;
            }
            else if (sequenceTimer <= 0)
            {
                musicSingleton.volume = restoreVolume;
            }
        }

        sequenceTimer -= Time.deltaTime;
        if (sequenceTimer < sequenceTime - 1)
        {
            if (!soundEffect.isPlaying && sequenceTimer > 10)
            {
                soundEffect.Play();
            }
        }

        if(sequenceTimer > (sequenceTime - 2))
        {
            currentStage = launchStage.Stationary;
        }

        else if(sequenceTimer > (sequenceTime - 4) && sequenceTimer < (sequenceTime - 2))
        {
            currentStage = launchStage.FiringUp;
            //gameObject.GetComponent<Camera>().orthographicSize -= .01f * Time.deltaTime;
        }
        else if(sequenceTimer > (sequenceTime - 7) && sequenceTimer < (sequenceTime - 4))
        {
            currentStage = launchStage.LiftOff;
        }
        else
        {
            currentStage = launchStage.Cruise;
        }

        Vector3 rocketPos = rocket.transform.position;
        switch(currentStage)
        {
            case launchStage.Stationary:
                rocketThrust.particleInterval = .5f;
                break;

            case launchStage.FiringUp:
                rocketThrust.particleInterval = .1f;
                rocketPos.y += .1f * Time.deltaTime * (10.0f / sequenceTimer);
                rocket.transform.position = rocketPos;

                rocket.transform.Rotate(0, 0, Random.Range(-.25f, .25f));
                break;

            case launchStage.LiftOff:
                rocketThrust.particleInterval = .02f;

                rocketPos.y += 4.0f * Time.deltaTime;
                rocket.transform.position = rocketPos;
                if (rocket.transform.rotation.z < -1.0f || rocket.transform.rotation.z > 359.0f)
                {
                    rocket.transform.Rotate(0, 0, Random.Range(0.0f, .15f));
                }
                else if(rocket.transform.rotation.z > 1.0)
                {
                    rocket.transform.Rotate(0, 0, Random.Range(-0.15f, 0.0f));
                }
                else
                {
                    rocket.transform.Rotate(0, 0, Random.Range(-.3f, .3f));
                }
                break;

                //Default is standin for cruise
            default:
                rocketThrust.particleInterval = 0.001f;

                rocketPos.y += 3.5f * Time.deltaTime;
                rocket.transform.position = rocketPos;
                if (rocket.transform.rotation.z < - .03f || rocket.transform.rotation.z > 360.0f - .03f)
                {
                    rocket.transform.Rotate(0, 0, Random.Range(0.0f, .03f));
                }
                else if (rocket.transform.rotation.z > .03f)
                {
                    rocket.transform.Rotate(0, 0, Random.Range(-0.03f, 0.0f));
                }
                else
                {
                    //rocket.transform.rotation.SetEulerAngles(0, 0, 0);
                }
                break;
        }

        if(rocket.transform.position.y > transform.position.y && transform.position.y < 35.0f)
        {
            Vector3 cameraPos = transform.position;
            cameraPos.y = rocket.transform.position.y;
            if(cameraPos.x < rocket.transform.position.x)
            {
                cameraPos.x += 2 * Time.deltaTime;
            }
            transform.position = cameraPos;
        }
        else if(transform.position.y > 35.0f)
        {
            Color black = GetComponentInChildren<SpriteRenderer>().color;
            black.a += .28f * Time.deltaTime;
            GetComponentInChildren<SpriteRenderer>().color = black;

            if(black.a >= 1)
            {
                if(musicSingleton != null)
                {
                    musicSingleton.audioPlayer.Stop();
                    musicSingleton.volume = restoreVolume;
                }
                Application.LoadLevel("InsideShip");
            }
        }
    }
コード例 #8
0
 // Use this for initialization
 void Start()
 {
     currentStage = launchStage.Stationary;
     sequenceTimer = sequenceTime;
 }