示例#1
0
    private void CheckContact(GameObject otherGameObject)
    {
        if (pickUP.fillAmount < 1f)
        {
            return;
        }

        ShipColor shipColor = otherGameObject.GetComponent <ShipColor>();

        if (shipColor != null)
        {
            string sfxName = string.Format("PointCollect{0}", pickUpTier);
            AudioManager._AUDIOMANAGER.playSound(sfxName);

            ShipGridManager shipGridManager = otherGameObject.GetComponent <ShipGridManager>();
            if (shipGridManager != null)
            {
                shipGridManager.colorWake.m_VectorGrid.AddGridForce(otherGameObject.transform.position, collectionForce, collectionRadius, shipGridManager.colorWake.m_Color, true);
            }

            GameManager.PlayerColor collectorColor = GameManager._GAMEMANAGER.GetPlayerColor(shipColor.playerNumber);
            GameManager._GAMEMANAGER.ScorePoints(collectorColor, value);

            Destroy(gameObject);
        }
    }
示例#2
0
    // Update is called once per frame
    void Update()
    {
        timer -= Time.deltaTime;

        if (timer <= 0)
        {
            PassThrough = (ShipColor)Random.Range(0, 4);



            if (PassThrough == ShipColor.Green)
            {
                gameObject.GetComponent <Renderer>().material.color = GreenS;
            }
            if (PassThrough == ShipColor.Red)
            {
                gameObject.GetComponent <Renderer>().material.color = RedS;
            }
            if (PassThrough == ShipColor.Purple)
            {
                gameObject.GetComponent <Renderer>().material.color = PurpleS;
            }
            if (PassThrough == ShipColor.Blue)
            {
                gameObject.GetComponent <Renderer>().material.color = BlueS;
            }

            timer = reset;
        }
    }
示例#3
0
    // Start is called before the first frame update
    void Start()
    {
        hitAudio = GameObject.Find("Boss").GetComponent <AudioSource>();


        PassThrough = (ShipColor)Random.Range(0, 4);



        if (PassThrough == ShipColor.Green)
        {
            gameObject.GetComponent <Renderer>().material.color = GreenS;
        }
        if (PassThrough == ShipColor.Red)
        {
            gameObject.GetComponent <Renderer>().material.color = RedS;
        }
        if (PassThrough == ShipColor.Purple)
        {
            gameObject.GetComponent <Renderer>().material.color = PurpleS;
        }
        if (PassThrough == ShipColor.Blue)
        {
            gameObject.GetComponent <Renderer>().material.color = BlueS;
        }
    }
 /// <summary>
 /// Start is called on the frame when a script is enabled just before
 /// any of the Update methods is called the first time.
 /// </summary>
 void Start()
 {
     shipColor = GetComponentInParent <ShipColor>();
     if (shipColor == null)
     {
         Debug.LogWarning("ShipWake should be attached to a hierarchy with a ShipColor component", this);
         enabled = false;
     }
 }
示例#5
0
 public void SetColor(ShipColor _color)
 {
     shipColor = _color;
     core.GetComponent <SpriteRenderer>().color = _color.main;
     baseplate.color = _color.main;
     foreach (Armor a in armorPieces)
     {
         a.SetColor(_color.highlight);
     }
 }
 void ChangeShipColor()
 {
     if (shipColor == ShipColor.red) {
         GetComponent<Renderer>().sharedMaterial = purpleShip;
         shipColor = ShipColor.purple;
     } else {
         GetComponent<Renderer>().sharedMaterial = redShip;
         shipColor = ShipColor.red;
     }
 }
示例#7
0
    //public Material currentColor;

    // Use this for initialization
    void Start()
    {
        shot      = false;
        shot2     = false;
        shoot     = true;
        shoot2    = true;
        coolDown  = 15;
        coolDown2 = 45;

        shipColor = gameObject.GetComponent <ShipColor>();
    }
示例#8
0
 void ChangeShipColor()
 {
     if (shipColor == ShipColor.red)
     {
         GetComponent <Renderer>().sharedMaterial = purpleShip;
         shipColor = ShipColor.purple;
     }
     else
     {
         GetComponent <Renderer>().sharedMaterial = redShip;
         shipColor = ShipColor.red;
     }
 }
示例#9
0
    public IEnumerator deadPlayerIEnumerator(GameObject deadPlayer, int time)
    {
        ShipColor shipColor = deadPlayer.GetComponent <ShipColor>();

        if ((shipColor != null) && !shipColor.isInvulnerable)
        {
            AudioManager._AUDIOMANAGER.playSound("Explosion");
            deadPlayer.SetActive(false);

            PlayerColor tempColor = PlayerColor.Dead;
            Player      player    = _players[shipColor.playerNumber];

            if (player.color != PlayerColor.Dead)
            {
                tempColor    = player.color;
                player.color = PlayerColor.Dead;
                player.gridManager.colorWake.m_VectorGrid.AddGridForce(player.ship.transform.position, deathExplosionForce, deathExplosionRadius, player.gridManager.colorWake.m_Color, true);
                player.gridManager.leftWake.m_VectorGrid.AddGridForce(player.ship.transform.position, deathExplosionForce, deathExplosionRadius, player.gridManager.colorWake.m_Color, true);
                player.gridManager.rightWake.m_VectorGrid.AddGridForce(player.ship.transform.position, deathExplosionForce, deathExplosionRadius, player.gridManager.colorWake.m_Color, true);
            }

            //wait the timer
            for (int i = time; i >= 0; i--)
            {
                //update time left on UI
                yield return(new WaitForSeconds(1));
            }

            if (player.ship != null)
            {
                deadPlayer.SetActive(true);
                deadPlayer.transform.position = player.spawnPoint.transform.position;
                player.color             = tempColor;
                shipColor.isInvulnerable = true;

                Color tempWakeColor = player.gridManager.colorWake.m_Color;
                player.gridManager.colorWake.m_Color = Color.white;

                yield return(new WaitForSeconds(invulnTime));

                shipColor.isInvulnerable             = false;
                player.gridManager.colorWake.m_Color = tempWakeColor;
            }
        }
    }
示例#10
0
    /// <summary>
    /// Start is called on the frame when a script is enabled just before
    /// any of the Update methods is called the first time.
    /// </summary>
    void Start()
    {
        ShipColor shipColor = GetComponent <ShipColor>();

        if (shipColor != null)
        {
            int playerNumber = shipColor.playerNumber;
            LeftStickHorizontalAxis = string.Format("P{0}LeftStickHorizontal", playerNumber);
            LeftStickVerticalAxis   = string.Format("P{0}LeftStickVertical", playerNumber);
        }

        BoxCollider collider = GetComponent <BoxCollider>();

        if (collider != null)
        {
            collider.isTrigger = true;
        }
    }
    // Update is called once per frame
    void Update()
    {
        if (isDead)
        {
            return;
        }

        if (activeShip == thisShip)
        {
            transform.position += Vector3.up * Input.GetAxis("Vertical") * vertSpeed * Time.deltaTime +
                                  Vector3.right * Input.GetAxis("Horizontal") * horizSpeed * Time.deltaTime;

            transform.position = ClampToScreen(transform.position, mainCamera, boundaryPadding);
        }

        /*if(Input.GetKeyDown(KeyCode.Space)) {
         *  GameObject shotGO = GameObject.Instantiate(shotPrefab, transform.position, Quaternion.identity);
         * }*/

        if (Input.GetKeyDown(KeyCode.Alpha1))
        {
            activeShip = ShipColor.Green;
        }
        if (Input.GetKeyDown(KeyCode.Alpha2))
        {
            activeShip = ShipColor.Blue;
        }
        if (Input.GetKeyDown(KeyCode.Alpha3))
        {
            activeShip = ShipColor.Red;
        }
        if (Input.GetKeyDown(KeyCode.Alpha4))
        {
            activeShip = ShipColor.Purple;
        }


        if (Input.GetButtonUp("Pause"))
        {
            TogglePause();
        }
    }
示例#12
0
        protected override void OnPaint(PaintEventArgs e)
        {
            var g = e.Graphics;

            if (Source != null)
            {
                float tileSize = Width / 10f;

                var water = new SolidBrush(Enabled ? WaterColor : WaterColor.HalveHue());
                var hit   = new SolidBrush(Enabled ? HitColor : HitColor.HalveHue());
                var miss  = new SolidBrush(Enabled ? MissColor : MissColor.HalveHue());
                var ship  = new SolidBrush(Enabled ? ShipColor : ShipColor.HalveHue());

                for (int x = 0; x < 10; x++)
                {
                    for (int y = 0; y < 10; y++)
                    {
                        switch (Source[x, y])
                        {
                        case PrimaryTile.Ship:
                            g.FillRectangle(ship, tileSize * x, tileSize * y, tileSize, tileSize);
                            break;

                        case PrimaryTile.Miss:
                            g.FillRectangle(miss, tileSize * x, tileSize * y, tileSize, tileSize);
                            break;

                        case PrimaryTile.Hit:
                            g.FillRectangle(hit, tileSize * x, tileSize * y, tileSize, tileSize);
                            break;

                        case PrimaryTile.Water:
                            g.FillRectangle(water, tileSize * x, tileSize * y, tileSize, tileSize);
                            break;
                        }
                    }
                }
            }
            base.OnPaint(e);
        }
示例#13
0
    /// <summary>
    /// OnTriggerEnter is called when the Collider other enters the trigger.
    /// </summary>
    /// <param name="other">The other Collider involved in this collision.</param>
    void OnTriggerEnter(Collider other)
    {
        if (playerColor == GameManager.PlayerColor.Dead)
        {
            // The color hasn't been set, so not a valid collision.
            return;
        }

        ShipColor shipColor = other.gameObject.GetComponent <ShipColor>();

        if (shipColor != null)
        {
            GameManager.PlayerColor shipPlayerColor = GameManager._GAMEMANAGER.GetPlayerColor(shipColor.playerNumber);
            if ((shipPlayerColor != playerColor) && (shipColor.playerNumber != playerNumber))
            {
                GameManager._GAMEMANAGER.KillPlayer(other.gameObject);
                GameManager._GAMEMANAGER.ScorePoints(playerColor, GameManager._GAMEMANAGER.wakeKillAwardPoints);
                Debug.Log(string.Format("Player {0} {1} wake killed player {2} {3}", playerNumber, playerColor, shipColor.playerNumber, shipPlayerColor));
                Destroy(gameObject);
            }
        }
    }
示例#14
0
    // Start is called before the first frame update
    void Start()
    {
        thisShipColor = gameObject.GetComponent <PlayerControl>().thisShip;

        temp = null;
    }
 /// <summary>
 /// Update ship color
 /// </summary>
 /// <param name="color"></param>
 public void UpdateShipColor(ShipColor color)
 {
     ShipColor = color;
     PlayerPrefs.SetInt("shipColor", (int)ShipColor);
 }