private void receiveRelayData(ByteReceiver br, int uniqueID)
    {
        DataType typeL = (DataType)br.getInt();

        br.clean();
        ReceiveDataEvent(typeL, playerInfoList[findWithUniqueID(uniqueID)], br.data);
    }
    public virtual void receiveSyncOthers(ByteReceiver br)
    {
        br.clean();
        if (isServer())
        {
            return;
        }
        //Remove all synced PlayerInfo's
        int count = 0;

        for (int i = 0; i < playerInfoList.Count; i++)
        {
            if (playerInfoList [count].synced)
            {
                playerInfoList.RemoveAt(count);
            }
            else
            {
                count++;
            }
        }

        int max = br.getInt();

        for (int i = 0; i < max; i++)
        {
            var pi = new PlayerInfo();
            br.index  = pi.deserialize(br.data, br.index);
            pi.synced = true;
            playerInfoList.Add(pi);
        }
        updatePlayerInfoListArrays();
    }
Ejemplo n.º 3
0
    public static void receiveObject(byte[] data, out IdentityAndTransform iat)
    {
        ByteReceiver br          = new ByteReceiver(data);
        var          objectID    = br.getInt();
        int          authorityID = br.getInt();
        var          type        = (ObjectType)br.getInt();
        var          prefabIndex = br.getInt();
        var          pos         = br.getVector3();
        var          rot         = br.getQuaternion();

        iat = NetTransportManager.instance.spawnObjectSync(prefabIndex, authorityID, pos, rot, objectID);
        switch (type)
        {
        case ObjectType.Planet:
            var mass   = br.getFloat();
            var linVel = br.getVector3();
            var angVel = br.getVector3();
            var seed   = br.getInt();
            var radius = br.getFloat();
            UniverseManager.instance.syncPlanet(iat, mass, linVel, angVel, seed, radius);
            break;

        case ObjectType.Rigidbody:
            var massR   = br.getFloat();
            var linVelR = br.getVector3();
            var angVelR = br.getVector3();
            makeRigidBody(iat.instance, massR, linVelR, angVelR);
            break;
        }
    }
    public override void ReceiveDataEvent(DataType type, PlayerInfo playerInfo, byte[] data, int index = 0)
    {
        base.ReceiveDataEvent(type, playerInfo, data, index);

        if (type == DataType.Sync)
        {
            ByteReceiver br    = new ByteReceiver(data, index);
            var          stype = (SyncType)br.getInt();
            data = br.clean();
            switch (stype)
            {
            case SyncType.Spawning:
                receiveSpawn(data);
                break;

            case SyncType.TransUpdate:
                receiveTransUpdate(data);
                break;

            case SyncType.Request:
                if (!server)
                {
                    logMessage("Request Received, not server", "error");
                    return;
                }
                receiveRequest(data, playerInfo);
                break;
            }
        }
    }
Ejemplo n.º 5
0
    public void ReceiveDataBasicEvent(int hostId, int connectionID, int channelId, byte[] data, int size)
    {
        ByteReceiver br   = new ByteReceiver(data);
        var          type = (DataType)br.getInt();

        br.clean();
        ReceiveDataEvent(type, playerInfoList [findWithConnID(connectionID)], br.data);
    }
Ejemplo n.º 6
0
    public static Vector3 getVector3(byte[] data, int startIndex)
    {
        ByteReceiver br = new ByteReceiver(data, startIndex);
        float        x  = br.getFloat();
        float        y  = br.getFloat();
        float        z  = br.getFloat();

        return(new Vector3(x, y, z));
    }
    public int deserialize(byte[] bytes, int index)
    {
        ByteReceiver br = new ByteReceiver(bytes, index);

        uniqueID = br.getInt();
        color    = br.getColor();
        name     = br.getString();
        return(br.index);
    }
Ejemplo n.º 8
0
    public static Color getColor(byte[] data, int startIndex)
    {
        ByteReceiver br = new ByteReceiver(data, startIndex);
        float        r  = br.getFloat();
        float        g  = br.getFloat();
        float        b  = br.getFloat();
        float        a  = br.getFloat();

        return(new Color(r, g, b, a));
    }
Ejemplo n.º 9
0
    public static Quaternion getQuaternion(byte[] data, int startIndex)
    {
        ByteReceiver br = new ByteReceiver(data, startIndex);
        float        x  = br.getFloat();
        float        y  = br.getFloat();
        float        z  = br.getFloat();
        float        w  = br.getFloat();

        return(new Quaternion(x, y, z, w));
    }
Ejemplo n.º 10
0
    public static Rigidbody getRigidbody(byte[] data, int startIndex)
    {
        ByteReceiver br = new ByteReceiver(data, startIndex);
        Rigidbody    rb = new Rigidbody();

        rb.mass            = br.getFloat();
        rb.velocity        = br.getVector3();
        rb.angularVelocity = br.getVector3();
        return(rb);
    }
    private void receiveRequest(byte[] data, PlayerInfo pi)
    {
        ByteReceiver br = new ByteReceiver(data);

        switch ((RequestType)br.getInt())
        {
        case RequestType.Universe:
            sendUniverseDataUpdate(pi.connID);
            break;
        }
    }
    public override void ReceiveDataEvent(DataType type, PlayerInfo playerInfo, byte[] data, int index = 0)
    {
        base.ReceiveDataEvent(type, playerInfo, data, index);

        if (type == DataType.Text)
        {
            ByteReceiver r       = new ByteReceiver(data, index);
            string       message = r.getString();
            textReceived(playerInfo, message);
        }
    }
Ejemplo n.º 13
0
 public void receiveTransform(ByteReceiver br)
 {
     bool[] boolA = br.getBoolArray();
     if (boolA [7])
     {
         moveTo(br.getVector3());
     }
     if (boolA [6])
     {
         rotateTo(br.getQuaternion());
     }
     if (boolA [5])
     {
         trans.localScale = br.getVector3();
     }
 }
    private void receiveTransUpdate(byte[] data)
    {
        receiveLightEnable();

        ByteReceiver br         = new ByteReceiver(data);
        int          objID      = br.getInt();
        var          updateType = (TransUpdateType)br.getInt();

        int transIndex = findIndexByID(objID);

        if (transIndex != -1)
        {
            var netTrans = IDAndTransforms [transIndex].netTrans;
            switch (updateType)
            {
            case TransUpdateType.Transform:
                netTrans.receiveTransform(br);
                break;

//			case TransUpdateType.Position:
//				IDAndTransforms[transIndex].netTrans .moveTo(br.getVector3 ());
//				break;
//			case TransUpdateType.Rotation:
//				IDAndTransforms[transIndex].netTrans .rotateTo(br.getQuaternion ());
//				break;
//			case TransUpdateType.Scale:
//				IDAndTransforms[transIndex].netTrans .trans.localScale = br.getVector3 ();
//				break;
            case TransUpdateType.TransAndRigidbody:
                netTrans.receiveTransform(br);
                var body = netTrans.trans.GetComponent <Rigidbody> ();
                body.velocity        = br.getVector3();
                body.angularVelocity = br.getVector3();
                break;
            }
        }
        else
        {
            logMessage("ObjectNotFound ID:" + objID, "error");
        }
    }
    public override void ReceiveDataEvent(DataType type, PlayerInfo playerInfo, byte[] data, int index = 0)
    {
        base.ReceiveDataEvent(type, playerInfo, data, index);

        ByteReceiver br = new ByteReceiver(data, index);

        switch (type)
        {
        case DataType.ListUpdate:
            switch ((ListUpdateType)br.getInt())
            {
            case ListUpdateType.UpdateYourself:
                receiveUpdateYourself(br);
                break;

            case ListUpdateType.SyncOthers:
                receiveSyncOthers(br);
                break;
            }
            break;

        case DataType.Relay:
            int[] uniqueIDs   = br.getIntArray();
            bool  runInServer = br.getBool();
            br.clean();
            sendRelayS(br.data, playerInfo.uniqueID, uniqueIDs);
            if (runInServer)
            {
                receiveRelayData(br, playerInfo.uniqueID);
            }

            break;

        case DataType.RelayS:
            receiveRelayS(br);
            break;
        }
    }
Ejemplo n.º 16
0
 public SerialPortClient(SerialPort serialPort, ByteReceiver byteReceiver)
 {
     this.serialPort = serialPort;
     this.byteReceiver = byteReceiver;
     serialPort.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);
 }
Ejemplo n.º 17
0
 public SerialPortClient(ByteReceiver byteReceiver, MainWindow mainWindow)
 {
     this.byteReceiver = byteReceiver;
     mainWindow.COMPortSelectedEvent += COMPortSelected;
 }
 public virtual void receiveUpdateYourself(ByteReceiver br)
 {
     br.clean();
     playerInfo.deserialize(br.data, br.index);
 }
Ejemplo n.º 19
0
        public void setup()
        {
            uint numSamplesToDisplay = 10;
            uint sampleSpacing = 3;

            mockScopeWindowClient = new Mock<OscopeWindowClient>();
            sampleFrameDisplayer
                = new SampleFrameDisplayerImpl(mockScopeWindowClient.Object
                , numSamplesToDisplay
                , sampleSpacing);
            sampleFrameReceiver = new RisingEdgeTriggeringFrameReceiver(sampleFrameDisplayer);
            sampleFrameAssembler = new SampleFrameAssemblerImpl(sampleFrameReceiver);
            sampleAssembler = new HighByteFirstSampleAssemblerImpl(sampleFrameAssembler);
            byteReceiver = new ByteReceiverImpl(sampleAssembler, sampleFrameAssembler);
        }
Ejemplo n.º 20
0
 public override void receiveSyncOthers(ByteReceiver br)
 {
     base.receiveSyncOthers(br);
     logMessage("OthersReceived", "warning");
 }