Пример #1
0
    // 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();
        }
    }
Пример #2
0
 //내 상태가 변경 될 때 포톤으로 정보 전송
 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();
     }
 }
Пример #3
0
    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;
    }
Пример #4
0
 //각 버튼 클릭시 RPC를 플레이어들에게 전송
 public void onClickHeroButton(hcp.E_HeroType heroType)
 {
     myherotype = heroType;
     NetworkManager.instance.photonView.RPC("SelectHeroo", RpcTarget.All, photonView.ViewID, heroType);
 }