Example #1
0
    public void CheckForHighScore(RoombaController rc)
    {
        if (rc != null)
        {
            int scorePlaceIndex = -1;
            for (int i = 0; i < PersistantHighScoreList.scoreList.Length; i++)
            {
                if (score[rc.playerNumber - 1] > PersistantHighScoreList.scoreList[i].score)
                {
                    scorePlaceIndex = i;
                }
                else
                {
                    i = 100;
                }
            }

            if (scorePlaceIndex != -1)
            {            // If there is a highscore change, Create new HighScore object and insert into high score array in proper place, then save scores.
                highScorePosition = scorePlaceIndex;
                highScorePanel.SetActive(true);
                highScorePanel.GetComponent <Image>().color = rc.col;
                hsPromptText.GetComponent <Text>().text     = "Player " + (rc.playerNumber).ToString() + ", enter your initials!";
            }
            else
            {
                //Turn on gameOverPanel
                gameOverPanel.SetActive(true);
            }
        }
        else
        {
            gameOverPanel.SetActive(true);
        }
    }
Example #2
0
 public RoombaState runFrame(RoombaController controller)
 {
     controller._phy.MaxSpeed = boostMaxSpeed;
     controller._phy.addTorque(bisector(_direction, new Vector2(controller.transform.forward.x, controller.transform.forward.z)) * 6);
     controller._phy.addForce(_direction, 200);
     _currentTime -= Time.deltaTime;
     if (_currentTime <= 0)
     {
         return(controller._normalState);
     }
     else
     {
         return(controller._boostingState);
     }
 }
Example #3
0
    private void OnSceneGUI()
    {
        RoombaController rc = (RoombaController)target;

        Handles.color = Color.green;
        Handles.DrawWireArc(rc.transform.position, Vector3.up, Vector3.forward, 360, rc.viewRadius);
        Handles.color = Color.blue;
        Handles.DrawWireArc(rc.transform.position, Vector3.up, Vector3.forward, 360, rc.viewRadius2);
        Handles.color = Color.red;
        Handles.DrawWireArc(rc.transform.position, Vector3.up, Vector3.forward, 360, rc.killDst);
        Vector3 viewAngleA = rc.DirFromAngle(-rc.viewAngle / 2, false);
        Vector3 viewAngleB = rc.DirFromAngle(rc.viewAngle / 2, false);

        Handles.DrawLine(rc.transform.position, rc.transform.position + viewAngleA * rc.viewRadius);
        Handles.DrawLine(rc.transform.position, rc.transform.position + viewAngleB * rc.viewRadius);
    }
Example #4
0
    public RoombaState runFrame(RoombaController controller)
    {
        controller._phy.MaxSpeed = powerUpSpeed;
        controller._phy.addTorque(bisector(controller._inputVector, new Vector2(controller.transform.forward.x, controller.transform.forward.z)) * rotateSpeed);
        controller._phy.addForce(controller._inputVector, powerUpSpeed);
        _currentTime -= Time.deltaTime;

        if (_currentTime <= 0)
        {
            _currentTime = powerUpTime;
            return(controller._normalState);
        }
        else
        {
            return(controller._runPUState);
        }
    }
Example #5
0
 public RoombaState runFrame(RoombaController controller)
 {
     controller._phy.MaxSpeed = _maxVel;
     controller._phy.addTorque(bisector(controller._inputVector, new Vector2(controller.transform.forward.x, controller.transform.forward.z)) * _rotateSpeed);
     controller._phy.addForce(controller._inputVector, _speed);
     if (controller._boosting)
     {
         return(controller._boostingState.setUp(new Vector2(controller.transform.forward.x, controller.transform.forward.z)));
     }
     else if (controller._powerUp)
     {
         return(controller._currentPowerUp.PowerUp(controller));
     }
     else
     {
         return(controller._normalState);
     }
 }
Example #6
0
    public void GameOver()
    {
        StopCoroutine(timerRoutine);
        gameOver = true;
        List <RoombaController> winners = WhoWon();

        foreach (RoombaController rc in roombas)
        {
            rc.GameOver();
        }

        foreach (Cursor c in cursors)
        {
            c.gameOver = true;
        }

        string winnerText;

        if (winners.Count == 1)
        {        // One Winner
                 //Check for High Score (only if there is one winner)
            winner = winners[0];
            CheckForHighScore(winners[0]);

            gameOverPanel.GetComponent <Image>().color = winners[0].col;
            winnerText = "Player " + (winners[0].playerNumber) + " wins!\nFinal Score: " + score[winners[0].playerNumber - 1];
        }
        else
        {        // Tie
            gameOverPanel.SetActive(true);
            gameOverPanel.GetComponent <Image>().color = Color.black;
            string multiWinnerText = "Players ";
            for (int i = 0; i < winners.Count - 1; i++)
            {
                multiWinnerText += (winners[i].playerNumber).ToString() + ", ";
            }
            multiWinnerText += (winners[winners.Count - 1].playerNumber).ToString() + " Tied!";
            winnerText       = multiWinnerText;
        }
        finalText.GetComponent <Text>().text = winnerText;
    }
Example #7
0
    void Start()
    {
        velocity.x = 3;
        TimeUntilFlip = flipTime;
          //  for (int i = 0; i < numDust; i++)
          //  {
          //  var go = GameObject.Instantiate(this.dustPrefab, this.RandomDustLocation(), Quaternion.identity);
         //   }

        this.DustCollected = 0;
        //this.HeroController = this.GetComponent<HeroController>();
        this.RoombaController = this.GetComponent<RoombaController> ();
        this.StartScale = this.scale;
        this.StartWidth = this.GetComponent<Collider2D> ().bounds.size.x;

        this.groundMask = LayerMask.NameToLayer ("Ground");
    }
Example #8
0
 public RoombaState PowerUp(RoombaController controller)
 {
     controller._currentPowerUp = new NoPowerUp();
     Debug.Log("Ayo, powerup wasted");
     return(controller._runPUState);
 }
Example #9
0
 void Awake()
 {
     player   = GetComponent <RoombaController>();
     controls = new RoombaImputSystem();
 }
Example #10
0
    void Start()
    {
        velocity.x = 5;

        this.DustCollected = 0;
        //this.HeroController = this.GetComponent<HeroController>();
        this.RoombaController = this.GetComponent<RoombaController> ();
        this.StartScale = this.scale;
        this.StartWidth = this.GetComponent<Collider2D> ().bounds.size.x;

        this.groundMask = LayerMask.NameToLayer ("Ground");
    }
Example #11
0
 public RoombaState PowerUp(RoombaController controller)
 {
     Debug.Log("No power up!");
     return(controller._normalState);
 }