/****************************************** * * public void HitEnemy(GameObject player, GameObject enemy) * Signals the PBManager that the player hit the enemy, for statistical reference, * removes the enemy from the list, checks if a new scenario should be loaded, * and destryos the enemy GameObject; * * Parameters * int playerID - The number ID for the new player. * Return * * ***************************************/ public void HitEnemy(GameObject player, GameObject enemy) { PlayerBehaviourManager.GetInstance().HitEnemy(player, enemy); ScenarioManager.GetInstance().enemies.Remove(enemy); ScenarioManager.GetInstance().CheckNewScenario(); Destroy(enemy); }
private void UpdatePlayers() { List <PlayerBehaviourManager.Player> playerEmpathyList = PlayerBehaviourManager.GetInstance().GetPlayers(); if (players.Count == 0) { List <BFGIManager.Player> playerBFGIList = BFGIManager.GetInstance().GetPlayers(); List <PlayerTypeManager.Player> playerTypeList = PlayerTypeManager.GetInstance().GetPlayers(); foreach (PlayerBehaviourManager.Player p in playerEmpathyList) { Player novoPlayer = new Player(p.playerID); novoPlayer.playerObj = p.playerObj; novoPlayer.playerEmpathies = p.empathies; players.Add(novoPlayer); } foreach (BFGIManager.Player p in playerBFGIList) { foreach (Player a in players) { if (p.playerID == a.playerID) { a.O = p.O; a.C = p.C; a.E = p.E; a.A = p.A; a.N = p.N; } } } foreach (PlayerTypeManager.Player p in playerTypeList) { foreach (Player a in players) { if (p.playerID == a.playerID) { a.agression = p.agression; a.rescuer = p.rescuer; a.greed = p.greed; } } } } else { foreach (Player player in players) { foreach (PlayerBehaviourManager.Player p in playerEmpathyList) { if (player.playerID == p.playerID) { player.playerEmpathies = p.empathies; } } } } }
internal void GetItem(GameObject player, GameObject itemObj) { foreach (Item item in items) { if (item.itemObj == itemObj) { items.Remove(item); PlayerBehaviourManager.GetInstance().GetItem(player, item); Destroy(item.itemObj); return; } } }
public void DestroyVictim(GameObject victimObj) { foreach (GameObject vic in victims) { if (vic == victimObj) { victims.Remove(vic); PlayerBehaviourManager.GetInstance().DestroyVictim(vic); Destroy(vic); return; } } }
public void SaveVictim(GameObject player, GameObject victimObj) { foreach (GameObject vic in victims) { if (vic == victimObj) { victims.Remove(vic); PlayerBehaviourManager.GetInstance().SaveVictim(player, vic); Destroy(vic); CheckNewScenario(); return; } } }
/****************************************** * * public void NewPlayer() * Creates a new player with the current playerID value, * signals the other managers to insert a new player on their player list, * sets the BFGI questionnaire back to 1; * * Parameters * * Return * * ***************************************/ public void NewPlayer() { GameObject newPlayer = Instantiate(playerPrefab, Vector3.zero, Quaternion.identity); newPlayer.name = "Player_" + newPlayerId; newPlayer.GetComponent <PlayerMovementScript>().playerID = newPlayerId; newPlayer.GetComponent <MeshRenderer>().material.color = new Color32((byte)Random.Range(0, 255), (byte)Random.Range(0, 255), (byte)Random.Range(0, 255), 255); newPlayer.tag = GameManagerScript.Tags.Player.ToString(); players.Add(newPlayer); BFGIManager.GetInstance().NewPlayer(newPlayer, newPlayerId); PlayerBehaviourManager.GetInstance().NewPlayer(newPlayer, newPlayerId); newPlayerId++; BFGIManager.GetInstance().LoadSituation(1); }
/****************************************** * * public void NewPlayer(int playerID) * Creates a new player with a specified playerID value, * signals the other managers to insert a new player on their player list, * sets the BFGI questionnaire back to 1; * * Parameters * int playerID - The number ID for the new player. * Return * * ***************************************/ private void NewPlayer(int playerID) { GameObject newPlayer = Instantiate(playerPrefab, Vector3.zero, Quaternion.identity); newPlayer.name = "Player_" + playerID; newPlayer.GetComponent <PlayerMovementScript>().playerID = playerID; newPlayer.GetComponent <MeshRenderer>().material.color = new Color32((byte)Random.Range(0, 255), (byte)Random.Range(0, 255), (byte)Random.Range(0, 255), 255); newPlayer.tag = GameManagerScript.Tags.Player.ToString(); players.Add(newPlayer); BFGIManager.GetInstance().NewPlayer(newPlayer, playerID); PlayerBehaviourManager.GetInstance().NewPlayer(newPlayer, playerID); PlayerTypeManager.GetInstance().NewPlayer(newPlayer, playerID); UIManagerScript.GetInstance().StartDisplayOnScreen(newPlayer, "PlayerName_" + newPlayer.name, null); }
/****************************************** * * public virtual void FixedUpdate() * Handles the players movement inputs. Handles player movement speed power up * and stun durations * * Parameters * * Return * * ***************************************/ public virtual void FixedUpdate() { if (Time.time - lastStunned < GameManagerScript.GetInstance().playerStunLength) { return; } float spdModifier = 1; if (Time.time - lastPowerUp < powerUpLength) { spdModifier *= 1.5f; } //int playerID = 1; if (Input.GetButton("Player" + playerID + "_UP")) { transform.position = new Vector3(transform.position.x, transform.position.y + spdModifier * maxSpeed, transform.position.z); PlayerBehaviourManager.GetInstance().movePlayer(gameObject); } else if (Input.GetButton("Player" + playerID + "_DOWN")) { transform.position = new Vector3(transform.position.x, transform.position.y - spdModifier * maxSpeed, transform.position.z); PlayerBehaviourManager.GetInstance().movePlayer(gameObject); } if (Input.GetButton("Player" + playerID + "_RIGHT")) { transform.position = new Vector3(transform.position.x + spdModifier * maxSpeed, transform.position.y, transform.position.z); PlayerBehaviourManager.GetInstance().movePlayer(gameObject); } else if (Input.GetButton("Player" + playerID + "_LEFT")) { transform.position = new Vector3(transform.position.x - spdModifier * maxSpeed, transform.position.y, transform.position.z); PlayerBehaviourManager.GetInstance().movePlayer(gameObject); } }
// Update is called once per frame void Update() { CreatePoints(); if (Time.time - lastStunned < GameManagerScript.GetInstance().playerStunLength) { return; } if ( animator.GetBool("startAttack") || (animator.GetCurrentAnimatorStateInfo(0).IsName("attackRIGHT") && animator.GetCurrentAnimatorStateInfo(0).normalizedTime < 1) || (animator.GetCurrentAnimatorStateInfo(0).IsName("attackDOWN") && animator.GetCurrentAnimatorStateInfo(0).normalizedTime < 1) || (animator.GetCurrentAnimatorStateInfo(0).IsName("attackUP") && animator.GetCurrentAnimatorStateInfo(0).normalizedTime < 1) || (animator.GetCurrentAnimatorStateInfo(0).IsName("attackLEFT") && animator.GetCurrentAnimatorStateInfo(0).normalizedTime < 1) ) { return; } animator.ResetTrigger("startAttack"); if (Input.GetButtonDown("Player" + playerId + "_X")) { PlayerBehaviourManager.GetInstance().PlayerAttack(gameObject); animator.SetTrigger("startAttack"); return; } if (Time.time - lastInput > idleCD) { switch (lastDirection) { case Direction.NORTH: case Direction.NE: case Direction.NW: animator.SetTrigger("startIdle"); animator.SetInteger("Direction", (int)Direction.NORTH); break; case Direction.EAST: animator.SetTrigger("startIdle"); animator.SetInteger("Direction", (int)Direction.EAST); break; case Direction.SE: case Direction.SOUTH: case Direction.SW: animator.SetTrigger("startIdle"); animator.SetInteger("Direction", (int)Direction.SOUTH); break; case Direction.WEST: animator.SetTrigger("startIdle"); animator.SetInteger("Direction", (int)Direction.WEST); break; } } else { switch (lastDirection) { case Direction.NORTH: case Direction.NE: case Direction.NW: if (!animator.GetCurrentAnimatorStateInfo(0).IsName("walkUP")) { animator.SetTrigger("startWalk"); animator.SetInteger("Direction", (int)Direction.NORTH); } break; case Direction.EAST: if (!animator.GetCurrentAnimatorStateInfo(0).IsName("walkRIGHT")) { animator.SetTrigger("startWalk"); animator.SetInteger("Direction", (int)Direction.EAST); } break; case Direction.SE: case Direction.SOUTH: case Direction.SW: if (!animator.GetCurrentAnimatorStateInfo(0).IsName("walkDOWN")) { animator.SetTrigger("startWalk"); animator.SetInteger("Direction", (int)Direction.SOUTH); } break; case Direction.WEST: if (!animator.GetCurrentAnimatorStateInfo(0).IsName("walkLEFT")) { animator.SetTrigger("startWalk"); animator.SetInteger("Direction", (int)Direction.WEST); } break; } } }
private void OnGUI() { foreach (PlayerMsg display in players) { if (display.player == null) { continue; } if (!display.player.activeInHierarchy) { continue; } float width, height; width = height = 200; Vector3 pos = Camera.main.WorldToScreenPoint(display.player.transform.position); string displayMSG = display.msg; Rect displayRECT = new Rect(pos.x, Screen.height - pos.y, width, height); if (displayMSG.Contains("PlayerName_")) { //print("contains"); displayMSG = displayMSG.Substring("PlayerName_".Length); //print(display.player.GetComponent<SpriteRenderer>().sprite.texture.height); displayRECT.y -= charSizeOffset.y; displayRECT.x -= charSizeOffset.x; } if (displayMSG.Contains("Situation")) { displayRECT.x += situationOffset.x; displayRECT.y += situationOffset.y; displayRECT.width += situationRECT.x; displayRECT.height += situationRECT.y; } GUI.Label(displayRECT, displayMSG); } if (true)//GameManagerScript.GetInstance().currentStage == GameManagerScript.GameStage.MainGame) { List <string> ptText = PlayerTypeManager.GetInstance().Display(); List <string> bfgiText = BFGIManager.GetInstance().Display(); List <string> pbText = PlayerBehaviourManager.GetInstance().Display(); Rect leftUI = new Rect(Screen.width * 0.05f, Screen.height * 0.05f, Screen.width * 0.20f, Screen.height * 0.9f); if (GameManagerScript.GetInstance().GetNumPlayers() > 2) { Rect rightUI = new Rect(Screen.width * 0.75f, Screen.height * 0.05f, Screen.width * 0.20f, Screen.height * 0.9f); string leftText = ptText[0] + bfgiText[0] + pbText[0]; string rightText = ptText[1] + bfgiText[1] + pbText[1]; GUI.Box(leftUI, leftText); GUI.Box(rightUI, rightText); } else { string leftText = ptText[0] + bfgiText[0] + pbText[0]; GUI.Box(leftUI, leftText); } } }
private void Start() { pbManager = this; players = new List <Player>(); lastScreenShotTime = -ScreenShotCD; }