Beispiel #1
0
    void ReceiveData(byte[] data)
    {
        ByteArray       byteArray   = new ByteArray(data, (short)data.Length);
        ReceiveDataType type        = (ReceiveDataType)byteArray.readChar();
        ReceiveData     receiveData = new ReceiveData();

        switch (type)
        {
        case ReceiveDataType.Response:
            checkConfirm(byteArray.readInt(), byteArray.readChar());
            break;

        case ReceiveDataType.Transform:
            receiveData.cmd       = type;
            receiveData.transform = ReceiveTransformData.readFromBytes(byteArray.readBytes());
            callback(receiveData);
            break;

        case ReceiveDataType.Action:
            receiveData.cmd = type;
            SendResponse(byteArray.readInt());
            receiveData.action = ReceiveActionData.readFromBytes(byteArray.readBytes());
            callback(receiveData);
            break;

        case ReceiveDataType.State:
            receiveData.cmd = type;
            SendResponse(byteArray.readInt());
            receiveData.state = ReceiveStateData.readFromBytes(byteArray.readBytes());
            callback(receiveData);
            break;
        }
    }
 public void DispatchState(ReceiveStateData data)
 {
     if (data.fd == GameGlobalData.fd)
     {
         DispatchPlayerState(data);
     }
     else
     {
         DispatchRobotState(data);
     }
 }
Beispiel #3
0
    public static ReceiveStateData readFromBytes(byte[] bytes)
    {
        ByteArray        array = new ByteArray(bytes, (short)bytes.Length);
        ReceiveStateData data  = new ReceiveStateData();

        data.fd    = array.readInt();
        data.state = array.readChar();
        if (data.state == (char)PlayerState.Trap)
        {
            data.trapData           = new ReceiveTrapData();
            data.trapData.trapLevel = array.readChar();
        }
        return(data);
    }
Beispiel #4
0
    public void ReceiveState(ReceiveStateData stateData)
    {
        switch ((PlayerState)stateData.state)
        {
        case PlayerState.Trap:
            if (stateData.trapData.trapLevel == (char)TrapLevel.Trap1)
            {
                animatorController.AcceptSpecialState(PlayerDirection.Down, PlayerState.Trap);
            }
            break;

        case PlayerState.Save:
            animatorController.AcceptSpecialState(PlayerDirection.Down, PlayerState.Save);
            break;

        case PlayerState.Death:
            animatorController.AcceptSpecialState(PlayerDirection.Down, PlayerState.Death);
            break;
        }
    }
    public void DispatchRobotState(ReceiveStateData data)
    {
        RobotInputController robot = GameGlobalData.robotList[data.fd];

        robot.ReceiveState(data);
    }
 public void DispatchPlayerState(ReceiveStateData data)
 {
 }