Dispatcher.ParseParameterToMessage C# (CSharp) Метод

ParseParameterToMessage() приватный Метод

private ParseParameterToMessage ( string message, object parameter, short &id ) : MessageBase,
message string
parameter object
id short
Результат MessageBase,
    private MessageBase ParseParameterToMessage(string message, object parameter, out short id)
    {
        MessageBase msgToSend = null;
        if (parameter == null) {
            id = DispatchEMessageId;
            EMessage emsg = new EMessage ();
            emsg.message = message;
            msgToSend = emsg;
        } else if (parameter is int) {
            id = DispatchIMessageId;
            IMessage imsg = new IMessage ();
            imsg.message = message;
            imsg.parameter = (int)parameter;
            msgToSend = imsg;
        } else if (parameter is float) {
            id = DispatchFMessageId;
            FMessage fmsg = new FMessage ();
            fmsg.message = message;
            fmsg.parameter = (float)parameter;
            msgToSend = fmsg;
        } else if (parameter is string) {
            id = DispatchSMessageId;
            SMessage smsg = new SMessage ();
            smsg.message = message;
            smsg.parameter = parameter as string;
            msgToSend = smsg;
        } else if (parameter is Vector3) {
            id = DispatchVMessageId;
            VMessage vmsg = new VMessage ();
            vmsg.message = message;
            vmsg.parameter = (Vector3)parameter;
            msgToSend = vmsg;
        } else if (parameter is Quaternion) {
            id = DispatchQMessageId;
            QMessage qmsg = new QMessage ();
            qmsg.message = message;
            qmsg.parameter = (Quaternion)parameter;
            msgToSend = qmsg;
        } else {
            id = -1;
            Debug.LogError ("Can't dispatch a non RPCable parameter");
        }
        return msgToSend;
    }