コード例 #1
0
    public void GroundUpdate(Packet packet)
    {
        lastMessage = (Message_ShipUpdate)((PacketSingle)packet).message;
        if (lastMessage.UID != networkUID)
        {
            return;
        }

        targetPositionGlobal = lastMessage.position + lastMessage.velocity.toVector3 * Networker.pingToHost;
        targetVelocity       = lastMessage.velocity.toVector3;
        //targetRotation = lastMessage.rotation;
        //targetRotation = targetRotation.normalized;
        //could not get the rotation to work for whatever reason, so ground moves face their velocity vector

        //Debug.Log("Ground reciever rotation is: " + lastMessage.rotation.ToString());

        if ((VTMapManager.GlobalToWorldPoint(lastMessage.position) - groundUnitMover.transform.position).magnitude > 100)
        {
            Debug.Log("Ground mover is too far, teleporting.");
            groundUnitMover.transform.position = VTMapManager.GlobalToWorldPoint(lastMessage.position);
            Quaternion qs = lastMessage.rotation;
            qs = qs.normalized;
            groundUnitMover.transform.rotation = qs;
            smoothedPosition = lastMessage.position;
            if (targetVelocity.sqrMagnitude > 1)
            {
                smoothedRotation = Quaternion.LookRotation(targetVelocity);
            }
            //smoothedRotation = lastMessage.rotation;
            //smoothedRotation = smoothedRotation.normalized;
        }
    }
コード例 #2
0
    private void Awake()
    {
        lastMessage           = new Message_ShipUpdate(new Vector3D(), new Quaternion(), new Vector3D(), networkUID);
        Networker.ShipUpdate += ShipUpdate;

        ship         = GetComponent <ShipMover>();
        ship.enabled = false;
        shipTraverse = Traverse.Create(ship);
    }
コード例 #3
0
    private void Awake()
    {
        lastMessage           = new Message_ShipUpdate(new Vector3D(), new Quaternion(), new Vector3D(), networkUID);
        Networker.ShipUpdate += ShipUpdate;

        waypoint = new Waypoint();
        GameObject wptTransform = new GameObject();

        waypoint.SetTransform(wptTransform.transform);

        ship         = GetComponent <ShipMover>();
        ship.enabled = false;
    }
コード例 #4
0
    private void Awake()
    {
        lastMessage           = new Message_ShipUpdate(new Vector3D(), new Quaternion(), new Vector3D(), networkUID);//it uses ship update, cause the information really isnt all that different
        Networker.ShipUpdate += GroundUpdate;

        groundUnitMover         = GetComponent <GroundUnitMover>();
        soldier                 = GetComponentInChildren <SoldierAnimator>();
        groundUnitMover.enabled = false;
        rb = GetComponent <Rigidbody>();

        if (soldier != null)
        {
            Debug.Log("uwu, i am a soldier!");
            soldier.enabled = false;
            isSoldier       = true;
        }
        //groundTraverse = Traverse.Create(groundUnitMover);
    }
コード例 #5
0
    public void ShipUpdate(Packet packet)
    {
        lastMessage = (Message_ShipUpdate)((PacketSingle)packet).message;
        if (lastMessage.UID != networkUID)
        {
            return;
        }

        targetPositionGlobal = lastMessage.position.toVector3 + lastMessage.velocity.toVector3 * Networker.pingToHost;
        targetVelocity       = lastMessage.velocity.toVector3;
        targetRotation       = lastMessage.rotation;

        if ((VTMapManager.GlobalToWorldPoint(lastMessage.position) - ship.transform.position).magnitude > 100)
        {
            Debug.Log("Ship is too far, teleporting. This message should apear once per ship at spawn, if ur seeing more something is probably fucky");
            ship.transform.position = VTMapManager.GlobalToWorldPoint(lastMessage.position);
        }
    }
コード例 #6
0
 private void Awake()
 {
     lastMessage = new Message_ShipUpdate(new Vector3D(), new Quaternion(), new Vector3D(), networkUID);
     ship        = GetComponent <ShipMover>();
 }
コード例 #7
0
 private void Awake()
 {
     lastMessage     = new Message_ShipUpdate(new Vector3D(), new Quaternion(), new Vector3D(), networkUID);//it uses ship update, cause the information really isnt all that different
     groundUnitMover = GetComponent <GroundUnitMover>();
 }