public void receiveUpdates(message m) { scObject foodInfo = m.getSCObject("foodInfo"); int type = foodInfo.getInt("type"); int x = foodInfo.getInt("xPos"); int y = foodInfo.getInt("yPos"); Spawn(type, x, y); }
public void receiveUpdates(message m) { scObject information = m.getSCObject("header"); int numSnakes = information.getInt("num_snake"); for (int i = 0; i < numSnakes - 1; i++) { playerList.players [i].snake.scObjectToSnake(m.getSCObject(playerList.players [i].username + "_snake")); } }
public void receiveUpdates(message m) { scObject lobby = m.getSCObject("lobby"); start = lobby.getBool("start"); int numPlayers = lobby.getInt("num_player"); int userID = lobby.getInt("start_id"); GameObject.Find("PlayerList").GetComponent <PlayerList> ().startId = userID; Debug.Log(numPlayers); // Check if there is a new player for (int i = 0; i < numPlayers; i++) { if (!lobby.getString(i + "_username").Equals(Client.Instance.username)) { bool newPlayer = true; Debug.Log("Doing stuff"); // Check if the player exists foreach (Player s in playerList.players) { if (lobby.getString(i + "_username").Equals(s.username)) { newPlayer = false; } } if (newPlayer) { Debug.Log("adding"); playerList.addPlayer(lobby.getString(i + "_username")); } } } // TODO: Worry about players leaving }
public void scObjectToSnake(scObject s) { // unpack position of head Vector3 headPos = new Vector3(); headPos.x = s.getFloat("xPos"); headPos.y = s.getFloat("yPos"); headPos.z = s.getFloat("zPos"); transform.position = headPos; // unpack rotation of head Vector3 headRot = new Vector3(); headRot.x = s.getFloat("xRot"); headRot.y = s.getFloat("yRot"); headRot.z = s.getFloat("zRot"); transform.eulerAngles = headRot; // unpack segments int numSeg = s.getInt("segments"); if (numSeg < segments.Count) { foreach (GameObject go in segments) { Destroy(go); } segments.Clear(); } for (int i = 0; i < numSeg; i++) { Vector3 pos = new Vector3(); pos.x = s.getFloat(i + "_xPos"); pos.y = s.getFloat(i + "_yPos"); pos.z = s.getFloat(i + "_zPos"); if (i >= segments.Count) { GameObject newSegment = (GameObject)Instantiate(body, pos, Quaternion.identity); segments.Add(newSegment); } else { segments [i].transform.position = pos; } } }
public void ui_loop() { float mod = ((Screen.width * 1.0f) / Screen.height)/3; GUI.skin = bt; if (_modele_game_ref.tick >= (600 * _modele_game_ref.difficulty)) { _modele_game_ref.tick = 0; _modele_game_ref.scoreTemp = _modele_game_ref.scoreP1; _modele_game_ref.hitTemp = _modele_game_ref.hit; _modele_game_ref.successTemp = _modele_game_ref.success; _modele_game_ref.chansons.addSCObject(_venyl.destroy()); _modele_game_ref.isPlaying = false; if (_modele_game_ref.manche % 2 != 0) { instanceMenu = (GameObject)Object.Instantiate(PochMenu); } else { scObject dataP1 = _modele_game_ref.scoreData.getSCObject((_modele_game_ref.manche - 2)); scObject dataP2 = new scObject(_modele_game_ref.manche.ToString()); if (_modele_game_ref.hit == 0) { _modele_game_ref.hit = 1; } dataP2.addInt("hit", _modele_game_ref.hit); dataP2.addInt("succes", _modele_game_ref.success); dataP2.addInt("score", _modele_game_ref.scoreP2); float scoreP1= ((dataP1.getInt("succes") * 1f) / dataP1.getInt("hit") * (dataP1.getInt("score"))); float scoreP2= (((dataP2.getInt("succes") * 1f) / dataP2.getInt("hit")) * (dataP2.getInt("score"))); instanceMeter = (GameObject)Object.Instantiate(meter); // afficher lorsque manche est paire??? if (scoreP2 < scoreP1) { lecteur=new player(this, _modele_game_ref.chansons.getSCObject( _modele_game_ref.chansons.getSCObjectCount()-2)); instanceMeter.transform.GetChild(0).transform.Rotate(0,0,(((scoreP1-scoreP2)/(scoreP1+scoreP2))*45)); } else { lecteur = new player(this, _modele_game_ref.chansons.getSCObject(_modele_game_ref.chansons.getSCObjectCount() - 1)); instanceMeter.transform.GetChild(0).transform.Rotate(0, 0, -(((scoreP2 - scoreP1) / (scoreP1 + scoreP2))*45)); } //instanceFen1 = (GameObject)Object.Instantiate(fenetre); //instanceFen2 = (GameObject)Object.Instantiate(fenetre); instanceBar1 = (GameObject)Object.Instantiate(bar1); instanceBar2 = (GameObject)Object.Instantiate(bar2); instanceBar1.transform.position = new Vector3(-4f, -4, 0); instanceBar2.transform.position = new Vector3(8, -4, 0); } } if (_modele_game_ref.tick == 0) { if (_modele_game_ref.manche == 0) { if (_modele_game_ref.howToPlaySt==0) { GUI.skin = bt; if (GUI.Button(new Rect((Screen.width / 2) - 235, 220, 210, 50), "Start Game") ) { Object.Destroy(instanceMenu); _venyl = new venyl(this); _modele_game_ref.manche++; _modele_game_ref.isPlaying = true; } if (_modele_game_ref.difficulty != 1) { GUI.skin = bt; if (GUI.Button(new Rect((Screen.width / 2) - 235, 280, 210, 50), "Normal")) { _modele_game_ref.difficulty = 1; } } else { GUI.skin = txt; if (GUI.Button(new Rect((Screen.width / 2) - 235, 280, 210, 40), "Normal")) { _modele_game_ref.difficulty = 1; } } if (_modele_game_ref.difficulty != 1.6f) { GUI.skin = bt; if (GUI.Button(new Rect((Screen.width / 2) - 235, 320, 210, 40), "Hard")) { _modele_game_ref.difficulty = 1.6f; } } else { GUI.skin = txt; if (GUI.Button(new Rect((Screen.width / 2) - 235, 320, 210, 40), "Hard")) { _modele_game_ref.difficulty = 1.6f; } } if (_modele_game_ref.difficulty != 2) { GUI.skin = bt; if (GUI.Button(new Rect((Screen.width / 2) - 235, 360, 210, 40), "Expert")) { _modele_game_ref.difficulty = 2; } } else { GUI.skin = txt; if (GUI.Button(new Rect((Screen.width / 2) - 235, 360, 210, 40), "Expert")) { _modele_game_ref.difficulty = 2; } } GUI.skin = bt; if (GUI.Button(new Rect((Screen.width / 2) - 235, 410, 210, 50), "How to play")) { _modele_game_ref.howToPlaySt ++; Object.Destroy(instanceMenu); instanceMenu = (GameObject)Object.Instantiate(HowTo); } if (GUI.Button(new Rect((Screen.width / 2) - 235, 470, 210, 50), "Exit game")) { Application.Quit(); } } else { if (GUI.Button(new Rect((Screen.width / 2) - 220, Screen.height - 103, 210, 50), "Back")) { if (_modele_game_ref.howToPlaySt == 1) { Object.Destroy(instanceMenu); instanceMenu = (GameObject)Object.Instantiate(PochMenu); _modele_game_ref.howToPlaySt--; } else { Object.Destroy(instanceMenu); instanceMenu = (GameObject)Object.Instantiate(HowTo); _modele_game_ref.howToPlaySt--; } } if (GUI.Button(new Rect((Screen.width / 2) , Screen.height - 103, 210, 50), "Next")) { if (_modele_game_ref.howToPlaySt == 1) { Object.Destroy(instanceMenu); instanceMenu = (GameObject)Object.Instantiate(HowTo2); _modele_game_ref.howToPlaySt++; } else { Object.Destroy(instanceMenu); instanceMenu = (GameObject)Object.Instantiate(PochMenu); _modele_game_ref.howToPlaySt=0; } } } } else if (_modele_game_ref.manche % 2 == 0) { GUI.skin = txt; scObject dataP1 = _modele_game_ref.scoreData.getSCObject((_modele_game_ref.manche - 2)); scObject dataP2 = new scObject(_modele_game_ref.manche.ToString()); if (_modele_game_ref.hit == 0) { _modele_game_ref.hit = 1; } dataP2.addInt("hit", _modele_game_ref.hit); dataP2.addInt("succes", _modele_game_ref.success); dataP2.addInt("score", _modele_game_ref.scoreP2); // afficher lorsque manche est paire??? if ((((dataP2.getInt("succes") * 1f) / dataP2.getInt("hit")) * (dataP2.getInt("score"))) < ((dataP1.getInt("succes") * 1f) / dataP1.getInt("hit") * (dataP1.getInt("score")))) { GUI.Label(new Rect((Screen.width - 200) / 2, 50, 200, 200), "Player 1 Win!!!!"); } else if ((((dataP2.getInt("succes") * 1f) / dataP2.getInt("hit")) * (dataP2.getInt("score"))) == ((dataP1.getInt("succes") * 1f) / dataP1.getInt("hit") * (dataP1.getInt("score")))) { GUI.Label(new Rect((Screen.width-200)/2, 50, 200, 200), "Tie!!!!"); } else { GUI.Label(new Rect((Screen.width - 200) / 2, 50, 200, 200), "Player 2 Win!!!!"); } GUI.Label(new Rect(10, 10, 200, 50), "Player 1"); GUI.Label(new Rect(155, 110, 200, 50),(dataP1.getInt("score")).ToString()+" Pts"); GUI.Label(new Rect(160, 170, 200, 50), (Mathf.Round((dataP1.getInt("succes") * 1f) / dataP1.getInt("hit") * 100f)).ToString() + " l 100"); instanceBar1.transform.localScale = new Vector3(2, ((dataP1.getInt("succes") * 1f) / dataP1.getInt("hit"))* 2, 1); //GUI.Label(new Rect(100, 200, 400, 200), "Normalised score: " + Mathf.Round(((dataP1.getInt("succes") * 1f) /dataP1.getInt("hit") * (dataP1.getInt("score")))).ToString() + "Pts"); GUI.Label(new Rect(Screen.width-210, 10, 200, 50), "Player 2"); GUI.Label(new Rect(Screen.width-400, 110, 200, 50), (dataP2.getInt("score")).ToString() + " Pts"); GUI.Label(new Rect(Screen.width-360, 170, 200, 50), (Mathf.Round((dataP2.getInt("succes") * 1f) / dataP2.getInt("hit") * 100f)).ToString() + " l 100"); instanceBar2.transform.localScale = new Vector3(2, ((dataP2.getInt("succes") * 1f) / dataP2.getInt("hit"))*2, 1); //GUI.Label(new Rect(600, 200, 400, 200), "Normalised score: " + Mathf.Round((((dataP2.getInt("succes") * 1f) / dataP2.getInt("hit")) * (dataP2.getInt("score")))).ToString() + "Pts"); GUI.skin = bt; if (GUI.Button(new Rect(Screen.width - (Screen.width / 3 * 2), Screen.height - 50, Screen.width / 3, 50), "Start New Game")) { Object.Destroy(instanceBar1); Object.Destroy(instanceBar2); Object.Destroy(instanceMeter); scObject dataScore = new scObject(_modele_game_ref.manche.ToString()); dataScore.addInt("hit", _modele_game_ref.hit); dataScore.addInt("succes", _modele_game_ref.success); dataScore.addInt("score", _modele_game_ref.scoreP2); _modele_game_ref.scoreData.addSCObject(dataScore); _modele_game_ref.hit = 0; _modele_game_ref.success = 0; _modele_game_ref.scoreP1 = 0; _modele_game_ref.multiplier = 1; _modele_game_ref.streak = 0; _modele_game_ref.manche++; _modele_game_ref.offTick = 0; _venyl = new venyl(this); _modele_game_ref.isPlaying = true; // t_timer.Start(); } if (GUI.Button(new Rect(Screen.width - (Screen.width / 3), Screen.height - 50, Screen.width / 3, 50), "Exit Game")) { Application.Quit(); } if (GUI.Button(new Rect(Screen.width - (Screen.width / 3 * 3), Screen.height - 50, Screen.width / 3, 50), "Credit")) { _modele_game_ref.credit = true; instanceMenu = (GameObject)Object.Instantiate(Credit); } if (_modele_game_ref.credit) { if (GUI.Button(new Rect(Screen.width - (Screen.width / 3 * 2), Screen.height - 100, Screen.width / 4, 50), "Close")) { _modele_game_ref.credit = false; Object.Destroy(instanceMenu); } } } else { if (GUI.Button(new Rect((Screen.width / 2) - 235, 250, 250, 50), "Switch Side")) { Object.Destroy(instanceMenu); scObject dataScore = new scObject(_modele_game_ref.manche.ToString()); if (_modele_game_ref.hit == 0) { _modele_game_ref.hit = 1; } dataScore.addInt("hit", _modele_game_ref.hit); dataScore.addInt("succes", _modele_game_ref.success); dataScore.addInt("score", _modele_game_ref.scoreP1); _modele_game_ref.scoreData.addSCObject(dataScore); _modele_game_ref.hit=0; _modele_game_ref.success=0; _modele_game_ref.scoreP1 = 0; _modele_game_ref.multiplier = 1; _modele_game_ref.streak = 0; _modele_game_ref.tick = 1; _modele_game_ref.manche++; _venyl = new venyl(this); _modele_game_ref.isPlaying = true; /// t_timer.Start(); } } } int hit = 1; if (_modele_game_ref.hit != 0) { hit = _modele_game_ref.hit; } if (_modele_game_ref.isPlaying) { //GUI.Label(new Rect(Screen.width-220, 40, 400, 200), "Raw Score:"); //GUI.Label(new Rect(600, 75, 400, 200), "P2 Raw Score:"); //GUI.Label(new Rect(Screen.width - 200, 125, 400, 200), "Notes Hit: "); //GUI.Label(new Rect(600, 125, 400, 200), "P1 Notes Hit: "); //GUI.Label(new Rect(Screen.width - 200, 175, 400, 200), "Final Score:"); // GUI.Label(new Rect(600, 175, 400, 200), "P1 Final Score:"); GUI.skin = txt; //GUI.Label(new Rect(600, 95, 400, 200), (scorePlayer2).ToString()); if (_modele_game_ref.manche % 2 == 1) { GUI.Label(new Rect(Screen.width - 600*mod, 150*((Screen.height*1f)/Screen.width), 200, 50), (_modele_game_ref.scoreP1).ToString()); if (_modele_game_ref.hit > 0) { //GUI.Label(new Rect(Screen.width - 200, 145, 400, 200), Mathf.Round((_modele_game_ref.success * 1f) / _modele_game_ref.hit * 100f).ToString() + " %"); //GUI.Label(new Rect(Screen.width - 200, 195, 400, 200), Mathf.Round((((_modele_game_ref.success * 1f) / _modele_game_ref.hit) * (scorePlayer1))).ToString() + " points"); } } else { GUI.Label(new Rect(Screen.width - 600 * mod, 150 * ((Screen.height * 1f) / Screen.width), 200, 50), (_modele_game_ref.scoreP2).ToString()); //GUI.Label(new Rect(Screen.width - 200, 145, 400, 200), Mathf.Round((_modele_game_ref.successTemp * 1f) / _modele_game_ref.hitTemp * 100f).ToString() + " %"); //GUI.Label(new Rect(Screen.width - 200, 195, 400, 200), Mathf.Round((((_modele_game_ref.successTemp * 1f) / _modele_game_ref.hitTemp) * (_modele_game_ref.scoreTemp))).ToString() + " points"); /*if (_modele_game_ref.hit > 0) { GUI.Label(new Rect(600, 145, 400, 200), Mathf.Round((_modele_game_ref.success * 1f) / _modele_game_ref.hit * 100f).ToString() + " %"); GUI.Label(new Rect(600, 195, 400, 200), Mathf.Round((((_modele_game_ref.success * 1f) / _modele_game_ref.hit) * (scorePlayer2))).ToString() + " points"); }*/ } /*GUI.Label(new Rect(500, 30, 400, 200), "Time:"); GUI.Label(new Rect(500, 50, 400, 200), Mathf.Round((_modele_game_ref.tick / 10f)).ToString());*/ _venyl.uiLoop(); } }