コード例 #1
0
    IEnumerator CheckServerInitialized()
    {
        bool isCheck = true;

        while (isCheck)
        {
            yield return(new WaitForSeconds(0.1f));

            if (Application.loadedLevel != (int)GameLeve.WaterwheelNet || Network.peerType == NetworkPeerType.Disconnected)
            {
                if (Toubi.GetInstance() != null &&
                    !Toubi.GetInstance().IsIntoPlayGame)
                {
                    Toubi.GetInstance().IsIntoPlayGame = true;
                }
                continue;
            }
            isCheck = false;
        }

        if (NetworkRpcMsgCtrl.GetInstance() != null)
        {
            NetworkRpcMsgCtrl.GetInstance().RemoveSelf();
        }

        GameObject obj    = GameNetCtrlXK.GetInstance().PlayerObj[0];
        Transform  tran   = GameNetCtrlXK.GetInstance().PlayerPos[0].transform;
        GameObject player = (GameObject)Network.Instantiate(obj, tran.position, tran.rotation, GlobalData.NetWorkGroup);
        WaterwheelPlayerNetCtrl playerScript = player.GetComponent <WaterwheelPlayerNetCtrl>();

        playerScript.SetIsHandlePlayer();

        //create AiPlayer
        CreateAiPlayer();
    }
コード例 #2
0
    void StopShowWait(int key)
    {
        if (!IsInvoking("LoopWait"))
        {
            return;
        }

        if (RequestMasterServer.GetInstance().GetMovieMasterServerNum() != 1 && key == 0)
        {
            Debug.Log("Cannot stop show wait, masterServerNum is wrong!");
            return;
        }
        CancelInvoke("DelayShowStartBt");
        CancelInvoke("LoopWait");

        AudioManager.Instance.PlaySFX(AudioListCtrl.GetInstance().AudioStartBt);
        waitSprite.enabled = false;
        StartBtObj.SetActive(false);
        //BackgroudObj.SetActive(false);

        if (key == 0)
        {
            if (Network.peerType == NetworkPeerType.Server || Network.peerType == NetworkPeerType.Client)
            {
                if (NetworkRpcMsgCtrl.GetInstance() != null)
                {
                    NetworkRpcMsgCtrl.GetInstance().SendLoadLevel((int)GameLeve.WaterwheelNet);
                }
            }
        }
        HiddenLinkPlayer();
    }
    public void RemoveNetworkRpc()
    {
        if (NetworkRpcMsgCtrl.GetInstance() == null)
        {
            return;
        }

        NetworkRpcMsgCtrl.GetInstance().RemoveSelf();
    }
コード例 #4
0
 public void RemoveSelf()
 {
     if (gameObject == null)
     {
         return;
     }
     _Instance = null;
     Network.Destroy(gameObject);
     Debug.Log("NetworkRpcMsgCtrl::RemoveSelf...");
 }
 // Use this for initialization
 void Start()
 {
     if (_Instance != null)
     {
         _Instance.RemoveSelf();
     }
     _Instance = this;
     DontDestroyOnLoad(gameObject);
     gameObject.name = "_NetworkRpcMsgCtrl";
     netViewCom      = GetComponent <NetworkView>();
 }
    /// <summary>
    /// 创建NetworkRpcMsgCtrl组件(只在游戏的循环动画里进行).
    /// </summary>
    public void CreateNetworkRpc()
    {
        if (NetworkRpcMsgPrefab == null)
        {
            return;
        }

        GameObject obj = (GameObject)Network.Instantiate(NetworkRpcMsgPrefab, Vector3.zero, Quaternion.identity, 0);

        mNetworkRpcMsgScript = obj.GetComponent <NetworkRpcMsgCtrl>();
        mNetworkRpcMsgScript.Init();
    }
コード例 #7
0
    /// <summary>
    /// 创建NetworkRpcMsgCtrl组件(只在游戏的循环动画里进行).
    /// </summary>
    public void CreateNetworkRpc()
    {
        if (NetworkRpcMsgCtrl.GetInstance() != null)
        {
            return;
        }

        if (NetworkRpcObjPrefab == null)
        {
            return;
        }

        GameObject        obj    = (GameObject)Network.Instantiate(NetworkRpcObjPrefab, Vector3.zero, Quaternion.identity, GlobalData.NetWorkGroup);
        NetworkRpcMsgCtrl netRpc = obj.GetComponent <NetworkRpcMsgCtrl>();

        netRpc.Init();
    }
コード例 #8
0
    void OnPlayerConnected(NetworkPlayer playerNet)
    {
        //CheckShowAllCamera();
        ScreenLog.Log("NetworkServerNet::OnPlayerConnected -> ip " + playerNet.ipAddress
                      + ", gameLevel " + GlobalData.GetInstance().gameLeve
                      + ", appGameLevel " + Application.loadedLevel);

        if (GlobalData.GetInstance().gameLeve == GameLeve.WaterwheelNet &&
            Application.loadedLevel == (int)GameLeve.WaterwheelNet)
        {
            StartCoroutine(CheckOpenAllCamera());
        }
        else if (GlobalData.GetInstance().gameLeve == GameLeve.Movie)
        {
            LinkServerCount = Network.connections.Length;
            NetworkRpcMsgCtrl.GetInstance().SetSpawnClientIndex(playerNet, Network.connections.Length);
        }
    }
コード例 #9
0
    IEnumerator CheckConnectToServer()
    {
        if (GlobalData.GetInstance().gameLeve != GameLeve.WaterwheelNet)
        {
            yield break;
        }

        while (true)
        {
            Debug.Log("loadedLevel " + Application.loadedLevel + ", IsIntoPlayGame " + Toubi.GetInstance().IsIntoPlayGame);
            if (Application.loadedLevel == (int)GameLeve.WaterwheelNet)
            {
                break;
            }

            if (Application.loadedLevel == (int)GameLeve.Movie)
            {
                if (!Toubi.GetInstance().IsIntoPlayGame)
                {
                    Toubi.GetInstance().StartIntoGame();
                    Toubi.GetInstance().IsIntoPlayGame = true;
                }
                yield return(new WaitForSeconds(0.5f));
            }
        }

        if (NetworkRpcMsgCtrl.GetInstance() != null)
        {
            NetworkRpcMsgCtrl.GetInstance().RemoveSelf();
        }

        int playerIndex = IndexSpawnClient;

        Debug.Log("CheckConnectToServer::playerIndex " + playerIndex);

        GameObject obj    = GameNetCtrlXK.GetInstance().PlayerObj[playerIndex];
        Transform  tran   = GameNetCtrlXK.GetInstance().PlayerPos[playerIndex].transform;
        GameObject player = (GameObject)Network.Instantiate(obj, tran.position, tran.rotation, GlobalData.NetWorkGroup);
        WaterwheelPlayerNetCtrl playerScript = player.GetComponent <WaterwheelPlayerNetCtrl>();

        playerScript.SetIsHandlePlayer();
    }
    public void CreateNetworkRpc()
    {
        if (NetworkRpcMsgCtrl.GetInstance() != null || GlobalData.GetInstance().gameLeve != GameLeve.Movie)
        {
            return;
        }

        if (GlobalData.GetInstance().gameMode != GameMode.OnlineMode)
        {
            return;
        }

        if (NetworkRpcObj == null)
        {
            return;
        }
        Transform tran = NetworkRpcObj.transform;

        Network.Instantiate(NetworkRpcObj, tran.position, tran.rotation, GlobalData.NetWorkGroup);
    }