示例#1
0
文件: DC_Game.cs 项目: benotter/DigiC
    [Server] public void RequestAvatarSpawn(DC_Player player)
    {
        Debug.Log("AvatarSpawn Request from " + player.playerName);

        if (player.avatarSpawnO)
        {
            return;
        }

        GameObject      avatarSpawnO = Instantiate(avatarSpawnPrefab);
        DC_Avatar_Spawn avatarSpawn  = avatarSpawnO.GetComponent <DC_Avatar_Spawn>();

        avatarSpawn.playerO = player.gameObject;

        if (NetworkServer.SpawnWithClientAuthority(avatarSpawnO, player.gameObject))
        {
            player.avatarSpawn = avatarSpawn; // Only on Server

            player.avatarSpawnO = avatarSpawnO;
            player.RpcSetAvatarSpawn(avatarSpawnO);
        }
        else
        {
            NetworkServer.Destroy(avatarSpawnO);
        }
    }
示例#2
0
    [ClientRpc] public void RpcSetAvatarSpawn(GameObject aS)
    {
        var avaS = aS.GetComponent <DC_Avatar_Spawn>();

        avatarSpawn = avaS;

        if (hasAuthority)
        {
            avaS.SetPlayer(gameObject);
            homeRoom.SetAvatarSpawn(avaS);
        }
    }
示例#3
0
    public void SetAvatarSpawn(DC_Avatar_Spawn avaS = null)
    {
        avatarSpawn   = avaS;
        avatarSpawnGO = avaS ? avaS.gameObject : null;

        if (avaS)
        {
            GainAvatarSpawn();
        }
        else
        {
            LoseAvatarSpawn();
        }
    }
示例#4
0
    void Update()
    {
        if (serverGameO && !serverGame)
        {
            serverGame = serverGameO.GetComponent <DC_Game>();
        }

        if (avatarO && !avatar)
        {
            avatar = avatarO.GetComponent <DC_Avatar>();
        }

        if (avatarSpawnO && !avatarSpawn)
        {
            avatarSpawn = avatarSpawnO.GetComponent <DC_Avatar_Spawn>();
        }

        ServerUpdate();
        ClientUpdate();
    }
示例#5
0
 public override void OnGainAvatarSpawn(DC_Avatar_Spawn avatarS)
 {
     avatarSpawn        = avatarS;
     handle.toolEnabled = true;
 }
示例#6
0
 public virtual void OnGainAvatarSpawn(DC_Avatar_Spawn avatarS)
 {
 }