Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.Networking;
- public class Client : NetworkBehaviour {
- public GameObject PlayerObject;
- public GameObject PlayerObjectPrefab;
- public NetworkIdentity NI;
- void Start ()
- {
- if (!isLocalPlayer) return;
- NI = GetComponent<NetworkIdentity>();
- }
- void Update () {
- if (!isLocalPlayer) return;
- if (Input.GetKeyDown(KeyCode.I))
- {
- SpawnPlayerObject();
- }
- if (PlayerObject != null)
- {
- if (Input.GetKeyDown(KeyCode.W))
- {
- PlayerObject.transform.Translate(Vector3.forward * 3f);
- }
- if (Input.GetKeyDown(KeyCode.S))
- {
- PlayerObject.transform.Translate(Vector3.back * 3f);
- }
- if (Input.GetKeyDown(KeyCode.A))
- {
- PlayerObject.transform.Translate(Vector3.left * 3f);
- }
- if (Input.GetKeyDown(KeyCode.D))
- {
- PlayerObject.transform.Translate(Vector3.right * 3f);
- }
- }
- }
- void SpawnPlayerObject()
- {
- if (PlayerObject != null) NetworkServer.Destroy(PlayerObject);
- if (isServer)
- {
- PlayerObject = Instantiate(PlayerObjectPrefab);
- NetworkIdentity ObjectIdentity = PlayerObject.GetComponent<NetworkIdentity>();
- ObjectIdentity.localPlayerAuthority = true;
- RpcSpawnPlayerObject(NI);
- }
- else
- {
- PlayerObject = Instantiate(PlayerObjectPrefab);
- NetworkIdentity ObjectIdentity = PlayerObject.GetComponent<NetworkIdentity>();
- ObjectIdentity.localPlayerAuthority = true;
- CmdSpawnPlayerObject( NI);
- }
- }
- [Command]
- void CmdSpawnPlayerObject( NetworkIdentity _PlayerIdentity)
- {
- GameObject Pgo = NetworkServer.FindLocalObject(_PlayerIdentity.netId);
- GameObject newplayerobject = Instantiate(PlayerObjectPrefab);
- Pgo.GetComponent<Client>().PlayerObject = newplayerobject;
- RpcSpawnPlayerObject(_PlayerIdentity);
- }
- [ClientRpc]
- void RpcSpawnPlayerObject( NetworkIdentity _PlayerIdentity)
- {
- GameObject Pgo = NetworkServer.FindLocalObject(_PlayerIdentity.netId);
- if (NI != _PlayerIdentity)
- {
- GameObject newplayerobject = Instantiate(PlayerObjectPrefab);
- Pgo.GetComponent<Client>().PlayerObject = newplayerobject;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement