// Use this for initialization void Start() { ReadyCheck = false; MyHeroImage.sprite = NetworkManager.instance.imageSoldier; myherotype = hcp.E_HeroType.Soldier; photonView = GetComponent <PhotonView>(); foreach (MonoBehaviour m in LobbyControlscripts) { if (photonView.IsMine) { //각 버튼에 리스너 추가 NetworkManager.instance.buttons.SetActive(true); BtnReady = NetworkManager.instance.buttons.transform.GetChild(2).GetComponent <Button>(); BtnSoldier = NetworkManager.instance.buttons.transform.GetChild(3).GetComponent <Button>(); BtnHook = NetworkManager.instance.buttons.transform.GetChild(4).GetComponent <Button>(); BtnSoldier.GetComponent <Button>().onClick.AddListener(delegate { onClickHeroButton(hcp.E_HeroType.Soldier); }); BtnHook.GetComponent <Button>().onClick.AddListener(delegate { onClickHeroButton(hcp.E_HeroType.Hook); }); if (PhotonNetwork.IsMasterClient) { BecomeToMaster(); } else { BtnReady.GetComponent <Button>().onClick.AddListener(onClickReady); } /* * BtnTeamA = NetworkManager.instance.buttons.transform.GetChild(0).GetComponent<Button * BtnTeamB = NetworkManager.instance.buttons.transform.GetChild(1).GetComponent<Button>(); * BtnTeamA.GetComponent<Button>().onClick.AddListener(delegate { onClicKTeamButton("A"); }); * BtnTeamB.GetComponent<Button>().onClick.AddListener(delegate { onClicKTeamButton("B"); }); */ } else { //m.enabled = false; } } //각 플레이어에게 접속했다고 RPC전송 if (photonView.IsMine) { NetworkManager.instance.photonView.RPC("Join", RpcTarget.MasterClient, photonView.ViewID); } NetworkManager.instance.photonView.RPC("Named", RpcTarget.AllBufferedViaServer, photonView.ViewID, PlayerName.instance.MyName); MyName = PlayerName.instance.MyName; if (PhotonNetwork.IsMasterClient) { PosAfterDictionary(); } }
//내 상태가 변경 될 때 포톤으로 정보 전송 public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) { if (stream.IsWriting) { stream.SendNext(myherotype); stream.SendNext(ReadyCheck); stream.SendNext(MyName); } else { myherotype = (hcp.E_HeroType)stream.ReceiveNext(); ReadyCheck = (bool)stream.ReceiveNext(); MyName = (string)stream.ReceiveNext(); } }
public void SelectHeroo(int pViewID, hcp.E_HeroType heroType) { int pVID = pViewID / 1000; switch (heroType) { case hcp.E_HeroType.Soldier: //Debug.Log(pVID + " : Select Soldier"); break; case hcp.E_HeroType.Hook: //Debug.Log(pVID + " : Select Hook"); break; default: break; } Heros[pVID] = heroType; }
//각 버튼 클릭시 RPC를 플레이어들에게 전송 public void onClickHeroButton(hcp.E_HeroType heroType) { myherotype = heroType; NetworkManager.instance.photonView.RPC("SelectHeroo", RpcTarget.All, photonView.ViewID, heroType); }