// Use this for initialization
    void Start()
    {
        BackgroundScroll.speed = 2f;
        for (int i = 0; i < 4; i++)
        {
            lastPos[i] = new Queue <Vector3>();
            for (int j = 0; j < 30 * i; j++)
            {
                lastPos[i].Enqueue(new Vector3(-j * 0.03f, -j * 0.03f, 0));
            }
        }
        for (int i = 0; i < 30; i++)
        {
            fansKilled[i] = 0;
        }
        shipRigid       = this.GetComponent <Rigidbody> ();
        healthText      = GameObject.Find("Health").GetComponent <Text>();
        healthText.text = StartController.health.ToString();
        invinMode       = false;
        pow             = powerLevel.None;
        speedupCount    = 0;
        optionCount     = 0;
        missileEnable   = false;
        doubleEnable    = false;
        laserEnable     = false;
        shieldEnable    = false;
        missileReload   = true;
        Camera cam = GameObject.Find("Main Camera").GetComponent <Camera>();

        camH = cam.orthographicSize * 2f;
        camW = camH * cam.aspect;
    }
 public void PowerNone()
 {
     pow = powerLevel.None;
     Destroy(GameObject.FindWithTag("Shield"));
     powpanels[0].GetComponent<Text>().color = Color.white;
     powpanels[1].GetComponent<Text>().color = Color.white;
 }
 public void PowerNone()
 {
     pow = powerLevel.None;
     Destroy(GameObject.FindWithTag("Shield"));
     powpanels[0].GetComponent <Text>().color = Color.white;
     powpanels[1].GetComponent <Text>().color = Color.white;
 }
 void ToDouble()
 {
     pow     = powerLevel.Double;
     lastPow = powerLevel.Double;
     powpanels[0].GetComponent <Text>().color = Color.yellow;
     powpanels[1].GetComponent <Text>().color = Color.white;
 }
Esempio n. 5
0
    void ResetShip()
    {
        //Reset the game if player health drops to 0
        if (health <= 0)
        {
            Application.LoadLevel("Scene_Title");
        }

        //reset the shield if custom level
        if (custom_shield)
        {
            GetComponentInChildren <ShieldToggling>().StartToggle();
        }
        // reset the board - functionality is in scheduler
        // this replaces Checkpoint();
        GameObject.FindGameObjectWithTag("MainCamera").GetComponent <Scheduler>().ResetBoard();

        //Reset powerups
        this.resetPowers();
        pow = powerLevel.none;

        //restart music
        bgMusic.Play((ulong)0.0);

        // enable the player ship
        this.transform.position = new Vector3(-6f, 0f, 0f);
        this.GetComponent <SpriteRenderer>().enabled = true;
        this.GetComponent <BoxCollider>().enabled    = true;
        this.GetComponent <BoxCollider>().enabled    = true;
        GetComponentInChildren <Player2DColl>().enableCollider();

        dead = false;
    }
 public void PowerNone()
 {
     pow = powerLevel.None;
     foreach (GameObject panel in powpanels){
         panel.GetComponent<Text>().color = Color.white;
     }
 }
 public void PowerNone()
 {
     pow = powerLevel.None;
     foreach (GameObject panel in powpanels)
     {
         panel.GetComponent <Text>().color = Color.white;
     }
 }
    void ToShield()
    {
        Destroy(GameObject.FindWithTag("Shield"));
        pow     = powerLevel.Shield;
        lastPow = powerLevel.Shield;
        GameObject shield;

        shield = Instantiate(shieldPrefab) as GameObject;
        powpanels[1].GetComponent <Text>().color = Color.yellow;
        powpanels[0].GetComponent <Text>().color = Color.white;
    }
    public void UpGrade()
    {
        switch (pow)
        {
        case powerLevel.None:
            pow = powerLevel.Speedup;
            powpanels[0].GetComponent <Text>().color = Color.yellow;
            break;

        case powerLevel.Speedup:
            pow = powerLevel.Missile;
            powpanels[0].GetComponent <Text>().color = Color.white;
            powpanels[1].GetComponent <Text>().color = Color.yellow;
            break;

        case powerLevel.Missile:
            pow = powerLevel.Double;
            powpanels[1].GetComponent <Text>().color = Color.white;
            powpanels[2].GetComponent <Text>().color = Color.yellow;
            break;

        case powerLevel.Double:
            pow = powerLevel.Laser;
            powpanels[2].GetComponent <Text>().color = Color.white;
            powpanels[3].GetComponent <Text>().color = Color.yellow;
            break;

        case powerLevel.Laser:
            pow = powerLevel.Option;
            powpanels[3].GetComponent <Text>().color = Color.white;
            powpanels[4].GetComponent <Text>().color = Color.yellow;
            break;

        case powerLevel.Option:
            pow = powerLevel.Shield;
            powpanels[4].GetComponent <Text>().color = Color.white;
            powpanels[5].GetComponent <Text>().color = Color.yellow;
            break;

        case powerLevel.Shield:
            pow = powerLevel.Speedup;
            powpanels[5].GetComponent <Text>().color = Color.white;
            powpanels[0].GetComponent <Text>().color = Color.yellow;
            break;
        }
    }
    // Use this for initialization
    void Start()
    {
        BackgroundScroll.speed = 2f;
        for (int i = 0; i < 30; i++)
        {
            fansKilled[i] = 0;
        }
        shipRigid       = this.GetComponent <Rigidbody> ();
        healthText      = GameObject.Find("Health").GetComponent <Text>();
        healthText.text = StartController.health.ToString();
        Camera cam = GameObject.Find("Main Camera").GetComponent <Camera>();

        camH      = cam.orthographicSize * 2f;
        camW      = camH * cam.aspect;
        powerTime = 0;
        pow       = powerLevel.None;
        lastPow   = powerLevel.None;
        degree    = 0;
        passRoad  = false;
        invinMode = false;
    }
 public void UpGrade()
 {
     switch(pow){
     case powerLevel.None:
         pow = powerLevel.Speedup;
         powpanels[0].GetComponent<Text>().color = Color.yellow;
         break;
     case powerLevel.Speedup:
         pow = powerLevel.Missile;
         powpanels[0].GetComponent<Text>().color = Color.white;
         powpanels[1].GetComponent<Text>().color = Color.yellow;
         break;
     case powerLevel.Missile:
         pow = powerLevel.Double;
         powpanels[1].GetComponent<Text>().color = Color.white;
         powpanels[2].GetComponent<Text>().color = Color.yellow;
         break;
     case powerLevel.Double:
         pow = powerLevel.Laser;
         powpanels[2].GetComponent<Text>().color = Color.white;
         powpanels[3].GetComponent<Text>().color = Color.yellow;
         break;
     case powerLevel.Laser:
         pow = powerLevel.Option;
         powpanels[3].GetComponent<Text>().color = Color.white;
         powpanels[4].GetComponent<Text>().color = Color.yellow;
         break;
     case powerLevel.Option:
         pow = powerLevel.Shield;
         powpanels[4].GetComponent<Text>().color = Color.white;
         powpanels[5].GetComponent<Text>().color = Color.yellow;
         break;
     case powerLevel.Shield:
         pow = powerLevel.Speedup;
         powpanels[5].GetComponent<Text>().color = Color.white;
         powpanels[0].GetComponent<Text>().color = Color.yellow;
         break;
     }
 }
 // Use this for initialization
 void Start()
 {
     BackgroundScroll.speed = 2f;
     for (int i=0; i<30; i++) {
         fansKilled[i] = 0;
     }
     shipRigid = this.GetComponent<Rigidbody> ();
     healthText = GameObject.Find ("Health").GetComponent<Text>();
     healthText.text = StartController.health.ToString();
     Camera cam = GameObject.Find("Main Camera").GetComponent<Camera>();
     camH = cam.orthographicSize * 2f;
     camW = camH * cam.aspect;
     powerTime = 0;
     pow = powerLevel.None;
     lastPow = powerLevel.None;
     degree = 0;
     passRoad = false;
     invinMode = false;
 }
 void ToShield()
 {
     Destroy(GameObject.FindWithTag("Shield"));
     pow = powerLevel.Shield;
     lastPow = powerLevel.Shield;
     GameObject shield;
     shield = Instantiate(shieldPrefab) as GameObject;
     powpanels[1].GetComponent<Text>().color = Color.yellow;
     powpanels[0].GetComponent<Text>().color = Color.white;
 }
 void ToDouble()
 {
     pow = powerLevel.Double;
     lastPow = powerLevel.Double;
     powpanels[0].GetComponent<Text>().color = Color.yellow;
     powpanels[1].GetComponent<Text>().color = Color.white;
 }
Esempio n. 15
0
    // Update is called once per frame
    void Update()
    {
        Vector3 speed = Vector3.zero, camPos = Vector3.zero;

        // get current camera data to keep ship on screen
        Camera cam = GameObject.Find("Main Camera").GetComponent <Camera>();     // get camera position to keep player on camera

        camPos = cam.transform.position;
        float camX = camPos.x;
        float camY = camPos.y;

        //Reload/Firing timing
        if (currReload < Time.deltaTime)
        {
            currReload = 0f;
        }
        else
        {
            currReload -= Time.deltaTime;
        }

        if (missile_currReload < Time.deltaTime)
        {
            missile_currReload = 0f;
        }
        else
        {
            missile_currReload -= Time.deltaTime;
        }

        //Player movement, includes screen edge bounding
        if (Input.GetKey(KeyCode.W) && (this.gameObject.transform.position.y + this.gameObject.transform.lossyScale.y / 8 < (camH / 2 + camY + 0.5f)))
        {
            speed.y += maxSpeed.y + 2 * powers[0];
        }
        if (Input.GetKey(KeyCode.S) && (this.gameObject.transform.position.y - this.gameObject.transform.lossyScale.y / 8 > (-camH / 2 + camY + 2.5f)))
        {
            speed.y -= maxSpeed.y + 2 * powers[0];
        }
        if (Input.GetKey(KeyCode.A) && (this.gameObject.transform.position.x - this.gameObject.transform.lossyScale.x / 7 > (-camW / 2 + camX)))
        {
            speed.x -= maxSpeed.x + 2 * powers[0];
        }
        if (Input.GetKey(KeyCode.D) && (this.gameObject.transform.position.x + this.gameObject.transform.lossyScale.x / 7 < (camW / 2 + camX)))
        {
            speed.x += maxSpeed.x + 2 * powers[0];
        }
        // toggle invincibility
        if (Input.GetKeyUp(KeyCode.I))
        {
            if (invincible)
            {
                invincible            = false;
                invincibleToggle.text = "";
            }
            else
            {
                invincible            = true;
                invincibleToggle.text = "INVINCIBLE";
            }
        }

        // if ship is off screen (-x) add an offset to keep us on screen
        float offset = this.transform.position.x - (camX - camW / 2);

        if (offset < 0)
        {
            shipRigid.position -= new Vector3(offset, 0, 0);
        }
        else
        {
            shipRigid.velocity = speed;
            anim.SetFloat("speed", shipRigid.velocity.y);
        }

        //
        //  TWO TYPES of shooting protocol follow
        //
        // Shooting on rapid-button press
        if (Input.GetKeyDown(KeyCode.N) && !dead)
        {
            //Check for reload and Power Level
            GameObject bullet = null;
            if (powers[1] == 1 && missile_currReload <= 0)
            {
                missile_currReload = missile_reload;
                GameObject missile = Instantiate(missilePrefab) as GameObject;
                missile.GetComponent <Rigidbody>().transform.position = this.transform.position;

                GameObject[] buds = GameObject.FindGameObjectsWithTag("Option");
                for (int i = 0; i < buds.Length; i++)
                {
                    buds[i].GetComponent <OptionBehaviour>().Fire(missilePrefab, Vector3.zero);
                }
            }

            if (powers[3] == 0)
            {
                if (powers[2] == 1)
                {
                    GameObject doubleshot = Instantiate(doubleshotPrefab) as GameObject;
                    doubleshot.GetComponent <Rigidbody>().MovePosition(this.transform.position + shotspawn);
                    GameObject[] buds2 = GameObject.FindGameObjectsWithTag("Option");
                    for (int i = 0; i < buds2.Length; i++)
                    {
                        buds2[i].GetComponent <OptionBehaviour>().Fire(doubleshotPrefab, shotspawn);
                    }
                }
                //Create bullet and move it to the player position
                GameObject shot = Instantiate(shotPrefab) as GameObject;
                shot.GetComponent <Rigidbody>().MovePosition(this.transform.position + shotspawn);
                //AudioSource shot = this.GetComponent<AudioSource>();
                bullet = shotPrefab;
                shotFX.Play((ulong)0.0);
            }
            if (powers[3] == 1)
            {
                GameObject shot = Instantiate(laserPrefab) as GameObject;
                shot.GetComponent <Rigidbody>().MovePosition(this.transform.position + shotspawn);
                bullet = laserPrefab;
                laserFX.Play((ulong)0.0);
            }
            GameObject[] options = GameObject.FindGameObjectsWithTag("Option");
            for (int i = 0; i < options.Length; i++)
            {
                options[i].GetComponent <OptionBehaviour>().Fire(bullet, shotspawn);
            }
        }

        // Shooting on button hold
        if (Input.GetKey(KeyCode.N) && currReload <= 0 && !dead)
        {
            //Check for reload and Power Level
            GameObject bullet = null;

            if (powers[1] == 1 && missile_currReload <= 0)
            {
                missile_currReload = missile_reload;
                GameObject missile = Instantiate(missilePrefab) as GameObject;
                missile.GetComponent <Rigidbody>().transform.position = this.transform.position;
                GameObject[] buds = GameObject.FindGameObjectsWithTag("Option");
                for (int i = 0; i < buds.Length; i++)
                {
                    buds[i].GetComponent <OptionBehaviour>().Fire(missilePrefab, Vector3.zero);
                }
            }
            currReload = reload;

            if (powers[3] == 0)
            {
                if (powers[2] == 1)
                {
                    GameObject doubleshot = Instantiate(doubleshotPrefab) as GameObject;
                    doubleshot.GetComponent <Rigidbody>().MovePosition(this.transform.position + shotspawn);
                    GameObject[] buds2 = GameObject.FindGameObjectsWithTag("Option");
                    for (int i = 0; i < buds2.Length; i++)
                    {
                        buds2[i].GetComponent <OptionBehaviour>().Fire(doubleshotPrefab, shotspawn);
                    }
                }
                //Create bullet and move it to the player position
                GameObject shot = Instantiate(shotPrefab) as GameObject;
                shot.GetComponent <Rigidbody>().MovePosition(this.transform.position + shotspawn);
                bullet = shotPrefab;
                shotFX.Play((ulong)0.0);
            }
            if (powers[3] == 1)
            {
                GameObject shot = Instantiate(laserPrefab) as GameObject;
                shot.GetComponent <Rigidbody>().MovePosition(this.transform.position + shotspawn);
                bullet = laserPrefab;
                laserFX.Play((ulong)0.0);
            }
            GameObject[] options = GameObject.FindGameObjectsWithTag("Option");
            for (int i = 0; i < options.Length; i++)
            {
                options[i].GetComponent <OptionBehaviour>().Fire(bullet, shotspawn);
            }
        }

        //Using PowerUp
        if (Input.GetKey(KeyCode.M) && pow != powerLevel.none)
        {
            // play SFX
            optionFX.Play((ulong)0.0);

            if (pow == powerLevel.first)
            {
                powers[(int)pow - 1]++;
                pow_Img[(int)pow - 1].color = Color.blue;
                //pow_Lbl[(int)pow-1].enabled = false;
                pow = powerLevel.none;
            }
            else if (pow == powerLevel.fifth && powers[4] < 2)
            {
                GameObject option = Instantiate(optionPrefab) as GameObject;
                option.GetComponent <Rigidbody>().position = this.transform.position;
                powers[(int)pow - 1]++;
                pow_Img[(int)pow - 1].color = Color.blue;
                if (powers[4] == 2)
                {
                    pow_Lbl[4].enabled = false;
                }
                pow = powerLevel.none;
            }
            else if (powers[(int)pow - 1] == 0)
            {
                powers[(int)pow - 1]++;
                pow_Img[(int)pow - 1].color   = Color.blue;
                pow_Lbl[(int)pow - 1].enabled = false;
                pow = powerLevel.none;
            }

            if (powers[5] == 1)
            {
                ShieldViz.SetActive(true);
            }
        }
    }
 // Use this for initialization
 void Start()
 {
     BackgroundScroll.speed = 2f;
     for (int i=0; i<4; i++) {
         lastPos[i] = new Queue<Vector3>();
         for (int j=0; j<30*i; j++)
             lastPos[i].Enqueue(new Vector3(-j*0.03f,-j*0.03f,0));
     }
     for (int i=0; i<30; i++) {
         fansKilled[i] = 0;
     }
     shipRigid = this.GetComponent<Rigidbody> ();
     healthText = GameObject.Find ("Health").GetComponent<Text>();
     healthText.text = StartController.health.ToString();
     invinMode = false;
     pow = powerLevel.None;
     speedupCount = 0;
     optionCount = 0;
     missileEnable = false;
     doubleEnable = false;
     laserEnable = false;
     shieldEnable = false;
     missileReload = true;
     Camera cam = GameObject.Find("Main Camera").GetComponent<Camera>();
     camH = cam.orthographicSize * 2f;
     camW = camH * cam.aspect;
 }