public void AgainstVote(newPlayerManager who, newPlayerManager against) { if (who.isDead || against == who) { return; } votes.Add(new Vote() { Who = who, VoteId = who.NumberInRoom, Against = against }); foreach (var p in _allPlayerManagers) { if (against == p) { p.VotesNr++; } if (p == who) { p.hasVoted = true; } } voteImageCall(who); playerVotedImageCall(against); VotesNr++; pv.RPC("voteRPC", RpcTarget.Others, against.uniqID); }
public void SkippedVote(newPlayerManager who) { votes.Add(new Vote() { Who = who, VoteId = who.NumberInRoom, IsSkipped = true }); VotesNr++; }
public void EndVote() { //return; int CurrentVotesNr = 0; int SkippedNr = 0; int HalfP = _allPlayerManagers.Count / 2; newPlayerManager higherScore = null; bool TaTie = false; foreach (var p in _allPlayerManagers) { if (higherScore != null) { if (higherScore.VotesNr < p.VotesNr) { higherScore = p; } else if (higherScore.VotesNr == p.VotesNr) { TaTie = true; } } else { higherScore = p; } } var result = votes.Where(y => y.IsSkipped == true); SkippedNr = result.Count(); if (SkippedNr >= VotesNr) { Skipped(); } else if (HalfP >= VotesNr) { Pass(); } else if (TaTie) { Tie(); } else { EjectP(higherScore); } resetCards(); resetVoteStatuPlayer(); resetPlayersVoteNbr(); VotesNr = 0; VotePanel.SetActive(false); }
private void OnTriggerStay2D(Collider2D other) { if (other.tag.Contains("Player")) { newPlayerManager collidedPlayerManager = other.gameObject.GetComponent <newPlayerManager>(); if (!collidedPlayerManager.isEnemy) { wireButton.interactable = true; } } }
/** * On exit collision with an player, remove it from targets list */ private void OnTriggerExit2D(Collider2D other) { if (other.tag == "Player") { newPlayerManager tempTarget = other.GetComponent <newPlayerManager>(); if (targets.Contains(tempTarget)) { targets.Remove(tempTarget); } } }
public void Start() { pv = GetComponent <PhotonView>(); gm = newGameManager.Instance; newPlayerManager npm = newPlayerManager.localNpm; if (npm.allBodies != null) { npm.allBodies.Add(transform); } reportButton = newPlayerManager.localNpm.reportButton; }
void Start() { Instance = this; var currentRoom = PhotonNetwork.CurrentRoom; var countP = 0; // Debug.Log("Current room name : " + currentRoom ); if (PhotonNetwork.IsConnected && PhotonNetwork.IsMasterClient) { countP = PhotonNetwork.CurrentRoom.PlayerCount; // Debug.Log("count of players " + countP ); } // Debug.Log(" room actu " + currentRoom); // Debug.Log("Nom du level " + Application.loadedLevelName); if (playerPrefab == null) { Debug.LogError("<Color=Green><a>Missing</a></Color> playerPrefab Reference. Please set it up in GameObject 'Game Manager'", this); } else { if (newPlayerManager.LocalPlayerInstance == null) { Debug.LogFormat("We are Instantiating LocalPlayer from {0}", Application.loadedLevelName); PhotonNetwork.Instantiate(this.playerPrefab.name, new Vector3(0f, 0f, 0f), Quaternion.identity, 0); } else { Debug.LogFormat("Ignoring scene load for {0}", SceneManagerHelper.ActiveSceneName); } } players = GameObject.FindGameObjectsWithTag("Player"); foreach (GameObject player in players) { newPlayerManager npm = player.GetComponent <newPlayerManager>(); npm.changeCameraValueByScene(); npm.transform.localPosition = spawnsPoints[npm.NumberInRoom].position; } }
/*** * Detecting collision with other player and process targeting */ private void OnTriggerEnter2D(Collider2D other) { if (other.tag == "Player") { //setting target newPlayerManager target = other.GetComponent <newPlayerManager>(); //checking players roles, process targeting for the kill action if (isEnemy && target.isEnemy != true && isDead != true) { PlayerTarget = target; targets.Add(target); killButton.interactable = true; } } }
void Awake() { photonView = GetComponent <PhotonView>(); //set the instances thisPlayerManager = this; // used in GameManager.cs: we keep track of the localPlayer instance to prevent instantiation when levels are synchronized if (photonView.IsMine) { uniqID = photonView.Owner.NickName + RandomString(5); photonView.RPC("unidIDRpcCall", RpcTarget.OthersBuffered, uniqID); LocalPlayerInstance = this.gameObject; localNpm = this; } DontDestroyOnLoad(this.gameObject); }
// Start is called before the first frame update void Start() { pv = GetComponent <PhotonView>(); _allPlayerManagers = new List <newPlayerManager>(); playersGameObjects = GameObject.FindGameObjectsWithTag("Player"); foreach (var p in playersGameObjects) { _allPlayerManagers.Add(p.GetComponent <newPlayerManager>()); var card = Instantiate(PlayerCardPrefab, Vector3.zero, Quaternion.identity, PlayesGrid); // var card = PhotonNetwork.Instantiate("PlayerVoteCard", new Vector3(0, 0, 0), Quaternion.identity); cardLogic cl = card.GetComponent <cardLogic>(); newPlayerManager pm = p.GetComponent <newPlayerManager>(); pm.voteManager = this; cl.characterImg.color = pm.myAvatarSprite.color; cl.ChaNameTxt.text = pm.playerNameText.text; cl.thisPlayer = pm; cl.VM = this; cl.BlockPanel = BlockPanel; cl.startBlockPanel(); pm.CardLogic = cl; if (pm.report) { cl.AlertImg.enabled = true; } allCardsList.Add(cl); // setting the right of vote if (pm.isDead) { setDeadCard(card, cl); } else { CanVoteNbr++; } } pv.RPC("cardsCountUpdate", RpcTarget.All); }
void Start() { players = GameObject.FindGameObjectsWithTag("Player"); _allPlayerManagers = new List <newPlayerManager>(); EnemyScreen.GetComponent <EndScreenDelay>().GameManager = this; foreach (GameObject player in players) { _allPlayerManagers.Add(player.GetComponent <newPlayerManager>()); newPlayerManager npm = player.GetComponent <newPlayerManager>(); npm.GameManager = this; npm.changeCameraValueByScene(); npm.setCanvasButton(buttonCanvas); npm.transform.localPosition = spawnsPoints[npm.NumberInRoom].position; npm.DebugText = debugText; } welcomeScreen.GetComponent <welcomeScreen>().player = newPlayerManager.LocalPlayerInstance.GetComponent <newPlayerManager>(); welcomeScreen.SetActive(true); welcomeScreen.GetComponent <welcomeScreen>().switchScreen(); StartCoroutine(loading()); Instance = this; StartCoroutine(welcomePanelDelay()); }
public void EjectP(newPlayerManager playerToEject) { playerToEject.DieRPCCall(false); EjectLogic.EjectedPlayer = playerToEject; EjectPanel.SetActive(true); }
public void playerVotedImageCall(newPlayerManager against) { against.CardLogic.CM.addVotedImg(); }
public void voteImageCall(newPlayerManager who) { who.CardLogic.CM.votedCall(); }
// Use this for initialization void Start() { instance = this; }