Ejemplo n.º 1
0
    /// <summary>
    ///現在、Bluetoothの通信状態に応じて、メッセージを送信する場所を指定
    /// </summary>
    private void MsgController()
    {
        byte[] data = _MsgSaver[0];

        _MsgSaver.RemoveAt(0);

        //メッセージは、通常の順序で含まれてきたのかを確認
        if (MsgHandler.instance.ReceiveIndexCheck(data) == false)
        {
            return;
        }

        switch (_State)
        {
        case COMMUICATOR_STATE.CS_DISCONNECT:
            //どんな状況でも発生してはならない
            break;

        case COMMUICATOR_STATE.CS_NORMAL:
            //一般的な状況。通常の関数に送る
            _Msg.NormalMsgControll(data);
            break;

        case COMMUICATOR_STATE.CS_FAVDAT:
            //名前はお気に入りになっているが、ファイルの転送に関連する関数なので、ファイル転送クラスに送ってくれる
            FileTransferManager.instance.RecvAssembly(data);
            break;

        case COMMUICATOR_STATE.CS_REQUEST_LEAK_STREAM:
            //ファイル転送時に不足しているメッセージを受けてきた
            FileTransferManager.instance.RecvLeakAssemble(data);
            break;

        case COMMUICATOR_STATE.CS_INITIALDAT:
            //最初の本体の状態を受けてきたので、関連する関数で送ってくれる
            _Msg.InitMsgControll(data);
            break;
        }
    }