Unity, как обновить стрельбу и пулю на пользовательский сервер? - PullRequest
0 голосов
/ 09 мая 2018

Я создал свой собственный сервер вместо использования сетевого Unity. Но у меня проблема с отправкой информации о маркере на сервер, чтобы другие игроки в сети могли видеть маркеры, когда кто-то стреляет. Вот код, который у меня есть:

string ImPlayer = null;
float[] PlayerPosVec = new float[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };

static Socket sock;

void Start()
{
    anim = GetComponent<Animator>();
    sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    IPEndPoint IPaddress = new IPEndPoint(IPAddress.Parse("130.229.156.6"), 13000);

    try
    {
        sock.Connect(IPaddress);
    }
    catch
    {
        Debug.Log("Unable to connect");
    }
    byte[] MSGFromServer = new byte[1024];
    int size = sock.Receive(MSGFromServer);

    string inPut = System.Text.Encoding.ASCII.GetString(MSGFromServer, 0, size);
    Debug.Log("Jag ar player " + inPut);
    ImPlayer = inPut;
    InvokeRepeating("Send", 1.0f, 0.125f);
}
    // weapon variables
    public float bulletSpeed = 10.0f;
    public float bulletDestroyTime = 5.0f; // after 5-sec dissapear (bullet)
    public GameObject bulletObject;
    public Transform bulletSpawnPoint;

    void Start()
    {

    }
    void Update()
    {
        Shoot(); 
    }
    void Shoot()
    {
        if (Input.GetKeyDown(KeyCode.Mouse0))
        {
           var bullet = (GameObject)Instantiate(
           bulletObject,
           bulletSpawnPoint.position,
           bulletSpawnPoint.rotation);

           bullet.GetComponent<Rigidbody>().velocity = bullet.transform.forward * bulletSpeed;

           Destroy(bullet, bulletDestroyTime);
        }

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...