packageChange
This commit is contained in:
8
Assets/Generic Client.meta
Normal file
8
Assets/Generic Client.meta
Normal file
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d6f1fedab44a1964e800b463d37b5039
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
231
Assets/Generic Client/GenericClient.Logic.cs
Normal file
231
Assets/Generic Client/GenericClient.Logic.cs
Normal file
@@ -0,0 +1,231 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
using Best.HTTP.Shared.PlatformSupport.Memory;
|
||||
|
||||
using Best.MQTT;
|
||||
using Best.MQTT.Examples;
|
||||
using Best.MQTT.Examples.Helpers;
|
||||
using Best.MQTT.Packets;
|
||||
using Best.MQTT.Packets.Builders;
|
||||
|
||||
using UnityEngine;
|
||||
|
||||
namespace Best.MQTT.Examples
|
||||
{
|
||||
public partial class GenericClient
|
||||
{
|
||||
private MQTTClient client;
|
||||
|
||||
// UI instances of SubscriptionListItem
|
||||
private List<SubscriptionListItem> subscriptionListItems = new List<SubscriptionListItem>();
|
||||
|
||||
public void OnConnectButton()
|
||||
{
|
||||
#if UNITY_WEBGL && !UNITY_EDITOR
|
||||
if (this.transportDropdown.value == 0)
|
||||
{
|
||||
AddText("<color=red>TCP transport isn't available under WebGL!</color>");
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
SetConnectingUI();
|
||||
|
||||
var host = this.hostInput.GetValue("broker.mqttdashboard.com");
|
||||
AddText($"[{host}] Connecting with client id: <color=green>{SessionHelper.Get(host).ClientId}</color>");
|
||||
|
||||
var options = new ConnectionOptions();
|
||||
options.Host = host;
|
||||
options.Port = this.portInput.GetIntValue(1883);
|
||||
options.Transport = (SupportedTransports)this.transportDropdown.value;
|
||||
options.UseTLS = this.isSecureToggle.GetBoolValue();
|
||||
options.Path = this.pathInput.GetValue("/mqtt");
|
||||
options.ProtocolVersion = (SupportedProtocolVersions)this.protocolVersionDropdown.value;
|
||||
|
||||
this.client = new MQTTClient(options);
|
||||
|
||||
this.client.OnConnected += OnConnected;
|
||||
this.client.OnError += OnError;
|
||||
this.client.OnDisconnect += OnDisconnected;
|
||||
this.client.OnStateChanged += OnStateChanged;
|
||||
|
||||
this.client.BeginConnect(ConnectPacketBuilderCallback);
|
||||
}
|
||||
|
||||
private void OnConnected(MQTTClient client)
|
||||
{
|
||||
SetConnectedUI();
|
||||
}
|
||||
|
||||
private void OnDisconnected(MQTTClient client, DisconnectReasonCodes code, string reason)
|
||||
{
|
||||
SetDisconnectedUI();
|
||||
|
||||
AddText($"[{client.Options.Host}] OnDisconnected - code: <color=blue>{code}</color>, reason: <color=red>{reason}</color>");
|
||||
}
|
||||
|
||||
private void OnError(MQTTClient client, string reason)
|
||||
{
|
||||
AddText($"[{client.Options.Host}] OnError reason: <color=red>{reason}</color>");
|
||||
}
|
||||
|
||||
public void OnDisconnectButton()
|
||||
{
|
||||
this.connectButton.interactable = false;
|
||||
this.client?.CreateDisconnectPacketBuilder().BeginDisconnect();
|
||||
}
|
||||
|
||||
private void OnStateChanged(MQTTClient client, ClientStates oldState, ClientStates newState)
|
||||
{
|
||||
AddText($"[{client.Options.Host}] <color=yellow>{oldState}</color> => <color=green>{newState}</color>");
|
||||
}
|
||||
|
||||
private ConnectPacketBuilder ConnectPacketBuilderCallback(MQTTClient client, ConnectPacketBuilder builder)
|
||||
{
|
||||
AddText($"[{client.Options.Host}] Creating connect packet.");
|
||||
|
||||
var userName = this.userNameInput.GetValue(null);
|
||||
var password = this.passwordInput.GetValue(null);
|
||||
|
||||
var session = SessionHelper.HasAny(client.Options.Host) ? SessionHelper.Get(client.Options.Host) : SessionHelper.CreateNullSession(client.Options.Host);
|
||||
builder.WithSession(session);
|
||||
|
||||
if (!string.IsNullOrEmpty(userName))
|
||||
builder.WithUserName(userName);
|
||||
|
||||
if (!string.IsNullOrEmpty(password))
|
||||
builder.WithPassword(password);
|
||||
|
||||
builder.WithKeepAlive((ushort)this.keepAliveInput.GetIntValue(60));
|
||||
|
||||
// setup last-will
|
||||
|
||||
var lastWillTopic = this.lastWill_TopicInput.GetValue(null);
|
||||
var lastWillMessage = this.lastWill_MessageInput.GetValue(null);
|
||||
var retain = this.lastWill_RetainToggle.GetBoolValue();
|
||||
|
||||
if (!string.IsNullOrEmpty(lastWillTopic) && !string.IsNullOrEmpty(lastWillMessage))
|
||||
builder.WithLastWill(new LastWillBuilder()
|
||||
.WithTopic(lastWillTopic)
|
||||
.WithContentType("text/utf-8")
|
||||
.WithPayload(Encoding.UTF8.GetBytes(lastWillMessage))
|
||||
.WithQoS(this.lastWill_QoSDropdown.GetQoS())
|
||||
.WithRetain(retain));
|
||||
|
||||
return builder;
|
||||
}
|
||||
|
||||
public void OnPublishButtonClicked()
|
||||
{
|
||||
string topic = this.publish_TopicInput.GetValue("best_mqtt/test");
|
||||
QoSLevels qos = this.publish_QoSDropdown.GetQoS();
|
||||
bool retain = this.publish_RetainToggle.GetBoolValue();
|
||||
string message = this.publish_MessageInput.GetValue("Hello MQTT World...");
|
||||
|
||||
this.client.CreateApplicationMessageBuilder(topic)
|
||||
.WithQoS(qos)
|
||||
.WithRetain(retain)
|
||||
.WithPayload(message)
|
||||
.BeginPublish();
|
||||
}
|
||||
|
||||
public void OnSubscribeButtonClicked()
|
||||
{
|
||||
var colorValue = this.subscribe_ColorInput.GetValue("000000");
|
||||
if (!ColorUtility.TryParseHtmlString("#" + colorValue, out var color))
|
||||
{
|
||||
AddText($"[{client.Options.Host}] <color=red>Couldn't parse '#{colorValue}'</color>");
|
||||
return;
|
||||
}
|
||||
|
||||
var qos = this.subscribe_QoSDropdown.GetQoS();
|
||||
var topic = this.subscribe_TopicInput.GetValue("best_mqtt/#");
|
||||
|
||||
this.client?.CreateBulkSubscriptionBuilder()
|
||||
.WithTopic(new SubscribeTopicBuilder(topic)
|
||||
.WithMaximumQoS(qos)
|
||||
.WithAcknowledgementCallback(OnSubscriptionAcknowledgement)
|
||||
.WithMessageCallback(OnApplicationMessage))
|
||||
.BeginSubscribe();
|
||||
|
||||
AddText($"[{client.Options.Host}] Subscribe request for topic <color=#{colorValue}>{topic}</color> sent...");
|
||||
|
||||
AddSubscriptionUI(topic, colorValue);
|
||||
}
|
||||
|
||||
private void OnSubscriptionAcknowledgement(MQTTClient client, SubscriptionTopic topic, SubscribeAckReasonCodes reasonCode)
|
||||
{
|
||||
var subscription = FindSubscriptionItem(topic.Filter.OriginalFilter);
|
||||
|
||||
string reasonColor = reasonCode <= SubscribeAckReasonCodes.GrantedQoS2 ? "green" : "red";
|
||||
AddText($"[{client.Options.Host}] Subscription request to topic <color=#{subscription.Color}>{topic.Filter.OriginalFilter}</color> returned with reason code: <color={reasonColor}>{reasonCode}</color>");
|
||||
}
|
||||
|
||||
private void AddSubscriptionUI(string topic, string color)
|
||||
{
|
||||
var item = Instantiate<SubscriptionListItem>(this.subscription_ListItem, this.subscribe_ListItemRoot);
|
||||
item.Set(this, topic, color);
|
||||
|
||||
this.subscriptionListItems.Add(item);
|
||||
}
|
||||
|
||||
public void Unsubscribe(string topic)
|
||||
{
|
||||
this.client.CreateUnsubscribePacketBuilder(topic)
|
||||
.WithAcknowledgementCallback(OnUnsubscribed)
|
||||
.BeginUnsubscribe();
|
||||
|
||||
var subscription = FindSubscriptionItem(topic);
|
||||
|
||||
AddText($"[{client.Options.Host}] Unsubscribe request for topic <color=#{subscription.Color}>{topic}</color> sent...");
|
||||
}
|
||||
|
||||
private void OnUnsubscribed(MQTTClient client, string topic, Best.MQTT.Packets.UnsubscribeAckReasonCodes reason)
|
||||
{
|
||||
var instance = this.subscriptionListItems.FirstOrDefault(s => s.Topic.OriginalFilter == topic);
|
||||
this.subscriptionListItems.Remove(instance);
|
||||
Destroy(instance.gameObject);
|
||||
|
||||
string reasonColor = reason == UnsubscribeAckReasonCodes.Success ? "green" : "red";
|
||||
|
||||
AddText($"[{client.Options.Host}] Unsubscription request to topic <color=#{instance.Color}>{topic}</color> returned with reason code: <color={reasonColor}>{reason}</color>");
|
||||
}
|
||||
|
||||
private void OnApplicationMessage(MQTTClient client, SubscriptionTopic topic, string topicName, ApplicationMessage applicationMessage)
|
||||
{
|
||||
// find matching subscription for its color
|
||||
var subscription = FindSubscriptionItem(topicName);
|
||||
|
||||
string payload = string.Empty;
|
||||
|
||||
// Here we going to try to convert the payload as an UTF-8 string. Note that it's not guaranteed that the payload is a string!
|
||||
// While MQTT supports an additional Content-Type field in this demo we can't rely on its presense.
|
||||
if (applicationMessage.Payload != BufferSegment.Empty)
|
||||
{
|
||||
payload = Encoding.UTF8.GetString(applicationMessage.Payload.Data, applicationMessage.Payload.Offset, applicationMessage.Payload.Count);
|
||||
|
||||
const int MaxPayloadLength = 512;
|
||||
if (payload.Length > MaxPayloadLength)
|
||||
payload = payload?.Remove(MaxPayloadLength);
|
||||
}
|
||||
|
||||
// Display the Content-Type if present
|
||||
string contentType = string.Empty;
|
||||
if (applicationMessage.ContentType != null)
|
||||
contentType = $" ({applicationMessage.ContentType}) ";
|
||||
|
||||
// Add the final text to the demo's log view.
|
||||
AddText($"[{client.Options.Host}] <color=#{subscription.Color}>[{topicName}] {contentType}{payload}</color>");
|
||||
}
|
||||
|
||||
private SubscriptionListItem FindSubscriptionItem(string topicName) => this.subscriptionListItems.FirstOrDefault(s => s.Topic.IsMatching(topicName));
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
this.client?.CreateDisconnectPacketBuilder().BeginDisconnect();
|
||||
}
|
||||
}
|
||||
}
|
||||
18
Assets/Generic Client/GenericClient.Logic.cs.meta
Normal file
18
Assets/Generic Client/GenericClient.Logic.cs.meta
Normal file
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 80cb39f4371a29e4d8da5a85303b5ee9
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 268762
|
||||
packageName: Best MQTT
|
||||
packageVersion: 3.0.4
|
||||
assetPath: Packages/com.tivadar.best.mqtt/Samples~/Generic Client/GenericClient.Logic.cs
|
||||
uploadId: 737289
|
||||
302
Assets/Generic Client/GenericClient.cs
Normal file
302
Assets/Generic Client/GenericClient.cs
Normal file
@@ -0,0 +1,302 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
using Best.HTTP.Shared;
|
||||
|
||||
using Best.MQTT;
|
||||
using Best.MQTT.Examples;
|
||||
using Best.MQTT.Examples.Helpers;
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Best.MQTT.Examples
|
||||
{
|
||||
public partial class GenericClient : MonoBehaviour
|
||||
{
|
||||
#pragma warning disable 0649
|
||||
[Header("Connect")]
|
||||
[SerializeField]
|
||||
private Dropdown templatesDropdown;
|
||||
|
||||
[SerializeField]
|
||||
private InputField hostInput;
|
||||
|
||||
[SerializeField]
|
||||
private InputField portInput;
|
||||
|
||||
[SerializeField]
|
||||
private Dropdown transportDropdown;
|
||||
|
||||
[SerializeField]
|
||||
private InputField pathInput;
|
||||
|
||||
[SerializeField]
|
||||
private Toggle isSecureToggle;
|
||||
|
||||
[SerializeField]
|
||||
private InputField userNameInput;
|
||||
|
||||
[SerializeField]
|
||||
private InputField passwordInput;
|
||||
|
||||
[SerializeField]
|
||||
private InputField keepAliveInput;
|
||||
|
||||
[SerializeField]
|
||||
private Dropdown protocolVersionDropdown;
|
||||
|
||||
[SerializeField]
|
||||
private Button connectButton;
|
||||
|
||||
[Header("Connect Last-Will")]
|
||||
|
||||
[SerializeField]
|
||||
private InputField lastWill_TopicInput;
|
||||
|
||||
[SerializeField]
|
||||
private Dropdown lastWill_QoSDropdown;
|
||||
|
||||
[SerializeField]
|
||||
private Toggle lastWill_RetainToggle;
|
||||
|
||||
[SerializeField]
|
||||
private InputField lastWill_MessageInput;
|
||||
|
||||
|
||||
[Header("Publish")]
|
||||
[SerializeField]
|
||||
private InputField publish_TopicInput;
|
||||
|
||||
[SerializeField]
|
||||
private Dropdown publish_QoSDropdown;
|
||||
|
||||
[SerializeField]
|
||||
private Toggle publish_RetainToggle;
|
||||
|
||||
[SerializeField]
|
||||
private InputField publish_MessageInput;
|
||||
|
||||
[Header("Subscribe")]
|
||||
[SerializeField]
|
||||
private InputField subscribe_ColorInput;
|
||||
|
||||
[SerializeField]
|
||||
private Dropdown subscribe_QoSDropdown;
|
||||
|
||||
[SerializeField]
|
||||
private InputField subscribe_TopicInput;
|
||||
|
||||
[SerializeField]
|
||||
private Transform subscribe_ListItemRoot;
|
||||
|
||||
[SerializeField]
|
||||
private SubscriptionListItem subscription_ListItem;
|
||||
|
||||
[SerializeField]
|
||||
private Transform publishSubscribePanel;
|
||||
|
||||
[Header("Logs")]
|
||||
[SerializeField]
|
||||
private InputField logs_MaxEntriesInput;
|
||||
|
||||
[SerializeField]
|
||||
private Toggle logs_AutoScroll;
|
||||
|
||||
[SerializeField]
|
||||
private TextListItem textListItem;
|
||||
|
||||
[SerializeField]
|
||||
private ScrollRect log_view;
|
||||
|
||||
[SerializeField]
|
||||
private Transform logRoot;
|
||||
|
||||
#pragma warning restore
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
InitUI();
|
||||
PopulateTemplates();
|
||||
}
|
||||
|
||||
private void AddText(string text)
|
||||
{
|
||||
int maxEntries = this.logs_MaxEntriesInput.GetIntValue(100);
|
||||
|
||||
if (this.logRoot.childCount >= maxEntries)
|
||||
{
|
||||
TrimLogEntries(maxEntries);
|
||||
|
||||
var child = this.logRoot.GetChild(0);
|
||||
child.GetComponent<TextListItem>().SetText(text);
|
||||
child.SetAsLastSibling();
|
||||
}
|
||||
else
|
||||
{
|
||||
var item = Instantiate<TextListItem>(this.textListItem, this.logRoot);
|
||||
item.SetText(text);
|
||||
}
|
||||
|
||||
bool autoScroll = this.logs_AutoScroll.GetBoolValue();
|
||||
if (autoScroll)
|
||||
{
|
||||
this.log_view.normalizedPosition = new Vector2(0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
private void TrimLogEntries(int maxEntries)
|
||||
{
|
||||
while (this.logRoot.childCount > maxEntries)
|
||||
{
|
||||
var child = this.logRoot.GetChild(0);
|
||||
child.transform.SetParent(this.transform);
|
||||
|
||||
Destroy(child.gameObject);
|
||||
}
|
||||
}
|
||||
|
||||
private void InitUI()
|
||||
{
|
||||
this.connectButton.GetComponentInChildren<Text>().text = "Connect";
|
||||
this.connectButton.interactable = true;
|
||||
this.connectButton.onClick.RemoveAllListeners();
|
||||
this.connectButton.onClick.AddListener(OnConnectButton);
|
||||
|
||||
foreach (var button in this.publishSubscribePanel.GetComponentsInChildren<Button>())
|
||||
button.interactable = false;
|
||||
}
|
||||
|
||||
class Template
|
||||
{
|
||||
public string name;
|
||||
|
||||
public string host;
|
||||
public int port;
|
||||
public SupportedTransports transport;
|
||||
public string path = "/mqtt";
|
||||
public bool isSecure;
|
||||
|
||||
public string username = string.Empty;
|
||||
public string password = string.Empty;
|
||||
public int keepAliveSeconds = 60;
|
||||
public SupportedProtocolVersions protocolVersion;
|
||||
|
||||
public Template()
|
||||
{
|
||||
this.protocolVersion = SupportedProtocolVersions.MQTT_5_0;
|
||||
}
|
||||
}
|
||||
|
||||
private Template[] templates = new Template[]
|
||||
{
|
||||
// broker.mqttdashboard.com
|
||||
#if !UNITY_WEBGL || UNITY_EDITOR
|
||||
new Template { name = "HiveMQ - TCP - Unsecure - Unauthenticated", host = "broker.hivemq.com", port = 1883, transport = SupportedTransports.TCP, isSecure = false },
|
||||
new Template { name = "HiveMQ - WebSocket - Unauthenticated", host = "broker.hivemq.com", port = 8000, transport = SupportedTransports.WebSocket, isSecure = false },
|
||||
#endif
|
||||
|
||||
// broker.emqx.io
|
||||
#if !UNITY_WEBGL || UNITY_EDITOR
|
||||
new Template { name = "emqx.com - TCP - Unsecure - Unauthenticated", host = "broker.emqx.io", port = 1883, transport = SupportedTransports.TCP, isSecure = false },
|
||||
new Template { name = "emqx.com - TCP - Secure - Unauthenticated", host = "broker.emqx.io", port = 8883, transport = SupportedTransports.TCP, isSecure = true },
|
||||
new Template { name = "emqx.com - WebSocket - Unsecure - Unauthenticated", host = "broker.emqx.io", port = 8083, transport = SupportedTransports.WebSocket, isSecure = false },
|
||||
#endif
|
||||
new Template { name = "emqx.com - WebSocket - Secure - Unauthenticated", host = "broker.emqx.io", port = 8084, transport = SupportedTransports.WebSocket, isSecure = true },
|
||||
|
||||
// test.mosquitto.org
|
||||
#if !UNITY_WEBGL || UNITY_EDITOR
|
||||
new Template{ name ="test.mosquitto.org - TCP - Unsecure - Unauthenticated", host = "test.mosquitto.org", port = 1883, transport = SupportedTransports.TCP, isSecure = false },
|
||||
new Template{ name ="test.mosquitto.org - TCP - Unsecure - Authenticated (Read/Write)", host = "test.mosquitto.org", port = 1884, transport = SupportedTransports.TCP, isSecure = false, username = "rw", password = "readwrite" },
|
||||
new Template{ name ="test.mosquitto.org - TCP - Unsecure - Authenticated (Read only)", host = "test.mosquitto.org", port = 1884, transport = SupportedTransports.TCP, isSecure = false, username = "ro", password = "readonly" },
|
||||
new Template{ name ="test.mosquitto.org - TCP - Unsecure - Authenticated (Write only)", host = "test.mosquitto.org", port = 1884, transport = SupportedTransports.TCP, isSecure = false, username = "wo", password = "writeonly" },
|
||||
new Template{ name ="test.mosquitto.org - TCP - Secure (Self signed cert) - Unauthenticated", host = "test.mosquitto.org", port = 8883, transport = SupportedTransports.TCP, isSecure = true },
|
||||
new Template{ name ="test.mosquitto.org - TCP - Secure (Self signed cert) - Client Certificate Required (see docs)", host = "test.mosquitto.org", port = 8884, transport = SupportedTransports.TCP, isSecure = true },
|
||||
new Template{ name ="test.mosquitto.org - TCP - Secure - Authenticated (Read/Write)", host = "test.mosquitto.org", port = 8885, transport = SupportedTransports.TCP, isSecure = true, username = "rw", password = "readwrite" },
|
||||
new Template{ name ="test.mosquitto.org - TCP - Secure - Authenticated (Read only)", host = "test.mosquitto.org", port = 8885, transport = SupportedTransports.TCP, isSecure = true, username = "ro", password = "readonly" },
|
||||
new Template{ name ="test.mosquitto.org - TCP - Secure - Authenticated (Write only)", host = "test.mosquitto.org", port = 8885, transport = SupportedTransports.TCP, isSecure = true, username = "wo", password = "writeonly" },
|
||||
new Template{ name ="test.mosquitto.org - TCP - Secure (Lets Encrypt cert) - Unauthenticated", host = "test.mosquitto.org", port = 8886, transport = SupportedTransports.TCP, isSecure = true },
|
||||
new Template{ name ="test.mosquitto.org - TCP - Secure (server certificate deliberately expired) - Unauthenticated", host = "test.mosquitto.org", port = 8887, transport = SupportedTransports.TCP, isSecure = true },
|
||||
new Template{ name ="test.mosquitto.org - WebSocket - Unsecure - Unauthenticated", host = "test.mosquitto.org", port = 8080, transport = SupportedTransports.WebSocket, isSecure = false },
|
||||
new Template{ name ="test.mosquitto.org - WebSocket - Unsecure - Authenticated (Read/Write)", host = "test.mosquitto.org", port = 8090, transport = SupportedTransports.WebSocket, isSecure = false, username = "rw", password = "readwrite" },
|
||||
new Template{ name ="test.mosquitto.org - WebSocket - Unsecure - Authenticated (Read only)", host = "test.mosquitto.org", port = 8090, transport = SupportedTransports.WebSocket, isSecure = false, username = "ro", password = "readonly" },
|
||||
new Template{ name ="test.mosquitto.org - WebSocket - Unsecure - Authenticated (Write only)", host = "test.mosquitto.org", port = 8090, transport = SupportedTransports.WebSocket, isSecure = false, username = "wo", password = "writeonly" },
|
||||
#endif
|
||||
new Template{ name ="test.mosquitto.org - WebSocket - Secure - Unauthenticated", host = "test.mosquitto.org", port = 8081, transport = SupportedTransports.WebSocket, isSecure = true },
|
||||
new Template{ name ="test.mosquitto.org - WebSocket - Secure - Authenticated (Read/Write)", host = "test.mosquitto.org", port = 8091, transport = SupportedTransports.WebSocket, isSecure = true, username = "rw", password = "readwrite" },
|
||||
new Template{ name ="test.mosquitto.org - WebSocket - Secure - Authenticated (Read only)", host = "test.mosquitto.org", port = 8091, transport = SupportedTransports.WebSocket, isSecure = true, username = "ro", password = "readonly" },
|
||||
new Template{ name ="test.mosquitto.org - WebSocket - Secure - Authenticated (Write only)", host = "test.mosquitto.org", port = 8091, transport = SupportedTransports.WebSocket, isSecure = true, username = "wo", password = "writeonly" },
|
||||
};
|
||||
|
||||
private void PopulateTemplates()
|
||||
{
|
||||
List<Dropdown.OptionData> options = new List<Dropdown.OptionData>(templates.Length);
|
||||
for (int i = 0; i < templates.Length; i++)
|
||||
{
|
||||
var template = templates[i];
|
||||
|
||||
options.Add(new Dropdown.OptionData(template.name));
|
||||
}
|
||||
|
||||
this.templatesDropdown.AddOptions(options);
|
||||
this.templatesDropdown.onValueChanged.AddListener(OnTemplateSelected);
|
||||
OnTemplateSelected(0);
|
||||
}
|
||||
|
||||
private void OnTemplateSelected(int idx)
|
||||
{
|
||||
var template = this.templates[idx];
|
||||
|
||||
this.hostInput.text = template.host;
|
||||
this.portInput.text = template.port.ToString();
|
||||
this.transportDropdown.value = (int)template.transport;
|
||||
this.pathInput.text = template.path;
|
||||
this.isSecureToggle.isOn = template.isSecure;
|
||||
|
||||
this.userNameInput.text = template.username;
|
||||
this.passwordInput.text = template.password;
|
||||
this.keepAliveInput.text = template.keepAliveSeconds.ToString();
|
||||
}
|
||||
|
||||
private void SetConnectingUI()
|
||||
{
|
||||
this.connectButton.interactable = false;
|
||||
|
||||
foreach (var button in this.publishSubscribePanel.GetComponentsInChildren<Button>())
|
||||
button.interactable = false;
|
||||
}
|
||||
|
||||
private void SetDisconnectedUI()
|
||||
{
|
||||
InitUI();
|
||||
for (int i = 0; i < this.subscriptionListItems.Count; ++i)
|
||||
Destroy(this.subscriptionListItems[i].gameObject);
|
||||
this.subscriptionListItems.Clear();
|
||||
}
|
||||
|
||||
private void SetConnectedUI()
|
||||
{
|
||||
this.connectButton.GetComponentInChildren<Text>().text = "Disconnect";
|
||||
this.connectButton.interactable = true;
|
||||
this.connectButton.onClick.RemoveAllListeners();
|
||||
this.connectButton.onClick.AddListener(OnDisconnectButton);
|
||||
|
||||
foreach (var button in this.publishSubscribePanel.GetComponentsInChildren<Button>())
|
||||
button.interactable = true;
|
||||
}
|
||||
|
||||
public void ClearLogEntries()
|
||||
{
|
||||
TrimLogEntries(0);
|
||||
}
|
||||
|
||||
public void OnLogLevelChanged(int idx)
|
||||
{
|
||||
switch (idx)
|
||||
{
|
||||
case 0: HTTPManager.Logger.Level = Best.HTTP.Shared.Logger.Loglevels.All; break;
|
||||
case 1: HTTPManager.Logger.Level = Best.HTTP.Shared.Logger.Loglevels.Warning; break;
|
||||
case 2: HTTPManager.Logger.Level = Best.HTTP.Shared.Logger.Loglevels.None; break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
18
Assets/Generic Client/GenericClient.cs.meta
Normal file
18
Assets/Generic Client/GenericClient.cs.meta
Normal file
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9938b568415c6564cb9f4be9f7f5a537
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 268762
|
||||
packageName: Best MQTT
|
||||
packageVersion: 3.0.4
|
||||
assetPath: Packages/com.tivadar.best.mqtt/Samples~/Generic Client/GenericClient.cs
|
||||
uploadId: 737289
|
||||
20132
Assets/Generic Client/MQTT Generic Client.unity
Normal file
20132
Assets/Generic Client/MQTT Generic Client.unity
Normal file
File diff suppressed because it is too large
Load Diff
15
Assets/Generic Client/MQTT Generic Client.unity.meta
Normal file
15
Assets/Generic Client/MQTT Generic Client.unity.meta
Normal file
@@ -0,0 +1,15 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fb515955b8e045948a0b8f83df56989f
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 268762
|
||||
packageName: Best MQTT
|
||||
packageVersion: 3.0.4
|
||||
assetPath: Packages/com.tivadar.best.mqtt/Samples~/Generic Client/MQTT Generic
|
||||
Client.unity
|
||||
uploadId: 737289
|
||||
39
Assets/Generic Client/SubscriptionListItem.cs
Normal file
39
Assets/Generic Client/SubscriptionListItem.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Best.MQTT.Examples.Helpers
|
||||
{
|
||||
public class SubscriptionListItem : MonoBehaviour
|
||||
{
|
||||
#pragma warning disable 0649
|
||||
[SerializeField]
|
||||
private Text _text;
|
||||
#pragma warning restore
|
||||
|
||||
public GenericClient Parent { get; private set; }
|
||||
public TopicFilter Topic { get; private set; }
|
||||
public string Color { get; private set; }
|
||||
|
||||
public void Set(GenericClient parent, string topic, string color)
|
||||
{
|
||||
this.Parent = parent;
|
||||
this.Topic = new TopicFilter(topic);
|
||||
this.Color = color;
|
||||
|
||||
this._text.text = $"<color=#{color}>{topic}</color>";
|
||||
}
|
||||
|
||||
public void AddLeftPadding(int padding)
|
||||
{
|
||||
this.GetComponent<LayoutGroup>().padding.left += padding;
|
||||
}
|
||||
|
||||
public void OnUnsubscribeButton()
|
||||
{
|
||||
this.Parent.Unsubscribe(this.Topic.OriginalFilter);
|
||||
}
|
||||
}
|
||||
}
|
||||
18
Assets/Generic Client/SubscriptionListItem.cs.meta
Normal file
18
Assets/Generic Client/SubscriptionListItem.cs.meta
Normal file
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4bcdb5688a6256b40b11d60a9a067c56
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 268762
|
||||
packageName: Best MQTT
|
||||
packageVersion: 3.0.4
|
||||
assetPath: Packages/com.tivadar.best.mqtt/Samples~/Generic Client/SubscriptionListItem.cs
|
||||
uploadId: 737289
|
||||
505
Assets/Generic Client/SubscriptionListItem.prefab
Normal file
505
Assets/Generic Client/SubscriptionListItem.prefab
Normal file
@@ -0,0 +1,505 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1503879635514882
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 224106021874867618}
|
||||
- component: {fileID: 222738347872656220}
|
||||
- component: {fileID: 114900463745114476}
|
||||
- component: {fileID: 1051233840454038680}
|
||||
m_Layer: 5
|
||||
m_Name: Text
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &224106021874867618
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1503879635514882}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 224916463173798366}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &222738347872656220
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1503879635514882}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &114900463745114476
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1503879635514882}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 10
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 1
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 3
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: New Text
|
||||
--- !u!114 &1051233840454038680
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1503879635514882}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_IgnoreLayout: 0
|
||||
m_MinWidth: -1
|
||||
m_MinHeight: -1
|
||||
m_PreferredWidth: -1
|
||||
m_PreferredHeight: -1
|
||||
m_FlexibleWidth: 1000
|
||||
m_FlexibleHeight: -1
|
||||
m_LayoutPriority: 1
|
||||
--- !u!1 &1727935926237334
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 224916463173798366}
|
||||
- component: {fileID: 222969618919079142}
|
||||
- component: {fileID: 114878452276715702}
|
||||
- component: {fileID: 3108536496360353843}
|
||||
- component: {fileID: 114599056085522236}
|
||||
- component: {fileID: -5100988258321374606}
|
||||
m_Layer: 5
|
||||
m_Name: SubscriptionListItem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &224916463173798366
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727935926237334}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 224106021874867618}
|
||||
- {fileID: 765797949909065420}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 400, y: 0}
|
||||
m_SizeDelta: {x: 800, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &222969618919079142
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727935926237334}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &114878452276715702
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727935926237334}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0.39215687}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &3108536496360353843
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727935926237334}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Padding:
|
||||
m_Left: 4
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 0
|
||||
m_Spacing: 2
|
||||
m_ChildForceExpandWidth: 1
|
||||
m_ChildForceExpandHeight: 1
|
||||
m_ChildControlWidth: 1
|
||||
m_ChildControlHeight: 1
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!114 &114599056085522236
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727935926237334}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_HorizontalFit: 0
|
||||
m_VerticalFit: 2
|
||||
--- !u!114 &-5100988258321374606
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727935926237334}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4bcdb5688a6256b40b11d60a9a067c56, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_text: {fileID: 114900463745114476}
|
||||
--- !u!1 &5954671850174814176
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3966937138859088225}
|
||||
- component: {fileID: 3106221332611440204}
|
||||
- component: {fileID: 7563984271549099249}
|
||||
- component: {fileID: 3575071619995480036}
|
||||
m_Layer: 5
|
||||
m_Name: Text
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &3966937138859088225
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5954671850174814176}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 765797949909065420}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 8.5, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &3106221332611440204
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5954671850174814176}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &7563984271549099249
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5954671850174814176}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 14
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 10
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: X
|
||||
--- !u!114 &3575071619995480036
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5954671850174814176}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_HorizontalFit: 2
|
||||
m_VerticalFit: 2
|
||||
--- !u!1 &6294619207575708782
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 765797949909065420}
|
||||
- component: {fileID: 1621773801305321924}
|
||||
- component: {fileID: 842342122110012726}
|
||||
- component: {fileID: 7798147322332922238}
|
||||
- component: {fileID: 554121520253107367}
|
||||
- component: {fileID: 7170877629076184653}
|
||||
m_Layer: 5
|
||||
m_Name: Unsubscribe Button
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &765797949909065420
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6294619207575708782}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 3966937138859088225}
|
||||
m_Father: {fileID: 224916463173798366}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 792.13184, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &1621773801305321924
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6294619207575708782}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &842342122110012726
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6294619207575708782}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &7798147322332922238
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6294619207575708782}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Navigation:
|
||||
m_Mode: 3
|
||||
m_WrapAround: 0
|
||||
m_SelectOnUp: {fileID: 0}
|
||||
m_SelectOnDown: {fileID: 0}
|
||||
m_SelectOnLeft: {fileID: 0}
|
||||
m_SelectOnRight: {fileID: 0}
|
||||
m_Transition: 1
|
||||
m_Colors:
|
||||
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
|
||||
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
|
||||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
|
||||
m_ColorMultiplier: 1
|
||||
m_FadeDuration: 0.1
|
||||
m_SpriteState:
|
||||
m_HighlightedSprite: {fileID: 0}
|
||||
m_PressedSprite: {fileID: 0}
|
||||
m_SelectedSprite: {fileID: 0}
|
||||
m_DisabledSprite: {fileID: 0}
|
||||
m_AnimationTriggers:
|
||||
m_NormalTrigger: Normal
|
||||
m_HighlightedTrigger: Highlighted
|
||||
m_PressedTrigger: Pressed
|
||||
m_SelectedTrigger: Selected
|
||||
m_DisabledTrigger: Disabled
|
||||
m_Interactable: 1
|
||||
m_TargetGraphic: {fileID: 842342122110012726}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls:
|
||||
- m_Target: {fileID: -5100988258321374606}
|
||||
m_TargetAssemblyTypeName: BestMQTT.Examples.Helpers.SubscriptionListItem,
|
||||
BestMQTT.Examples
|
||||
m_MethodName: OnUnsubscribeButton
|
||||
m_Mode: 1
|
||||
m_Arguments:
|
||||
m_ObjectArgument: {fileID: 0}
|
||||
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
|
||||
m_IntArgument: 0
|
||||
m_FloatArgument: 0
|
||||
m_StringArgument:
|
||||
m_BoolArgument: 0
|
||||
m_CallState: 2
|
||||
--- !u!114 &554121520253107367
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6294619207575708782}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_HorizontalFit: 2
|
||||
m_VerticalFit: 2
|
||||
--- !u!114 &7170877629076184653
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6294619207575708782}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Padding:
|
||||
m_Left: 4
|
||||
m_Right: 2
|
||||
m_Top: 2
|
||||
m_Bottom: 2
|
||||
m_ChildAlignment: 0
|
||||
m_Spacing: 0
|
||||
m_ChildForceExpandWidth: 0
|
||||
m_ChildForceExpandHeight: 0
|
||||
m_ChildControlWidth: 0
|
||||
m_ChildControlHeight: 0
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
17
Assets/Generic Client/SubscriptionListItem.prefab.meta
Normal file
17
Assets/Generic Client/SubscriptionListItem.prefab.meta
Normal file
@@ -0,0 +1,17 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 211393e24539a09439d6a32d5b50f6c2
|
||||
timeCreated: 1571213203
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 100100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 268762
|
||||
packageName: Best MQTT
|
||||
packageVersion: 3.0.4
|
||||
assetPath: Packages/com.tivadar.best.mqtt/Samples~/Generic Client/SubscriptionListItem.prefab
|
||||
uploadId: 737289
|
||||
26
Assets/Generic Client/TextListItem.cs
Normal file
26
Assets/Generic Client/TextListItem.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Best.MQTT.Examples.Helpers
|
||||
{
|
||||
public class TextListItem : MonoBehaviour
|
||||
{
|
||||
#pragma warning disable 0649
|
||||
[SerializeField]
|
||||
private Text _text;
|
||||
#pragma warning restore
|
||||
|
||||
public void SetText(string text)
|
||||
{
|
||||
this._text.text = text;
|
||||
}
|
||||
|
||||
public void AddLeftPadding(int padding)
|
||||
{
|
||||
this.GetComponent<LayoutGroup>().padding.left += padding;
|
||||
}
|
||||
}
|
||||
}
|
||||
18
Assets/Generic Client/TextListItem.cs.meta
Normal file
18
Assets/Generic Client/TextListItem.cs.meta
Normal file
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7e005f371ce6746488c3585f2e334b13
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 268762
|
||||
packageName: Best MQTT
|
||||
packageVersion: 3.0.4
|
||||
assetPath: Packages/com.tivadar.best.mqtt/Samples~/Generic Client/TextListItem.cs
|
||||
uploadId: 737289
|
||||
213
Assets/Generic Client/TextListItem.prefab
Normal file
213
Assets/Generic Client/TextListItem.prefab
Normal file
@@ -0,0 +1,213 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1503879635514882
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 224106021874867618}
|
||||
- component: {fileID: 222738347872656220}
|
||||
- component: {fileID: 114900463745114476}
|
||||
m_Layer: 5
|
||||
m_Name: Text
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &224106021874867618
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1503879635514882}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 224916463173798366}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &222738347872656220
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1503879635514882}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &114900463745114476
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1503879635514882}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 10
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 1
|
||||
m_MaxSize: 40
|
||||
m_Alignment: 0
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: New Text
|
||||
--- !u!1 &1727935926237334
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 224916463173798366}
|
||||
- component: {fileID: 222969618919079142}
|
||||
- component: {fileID: 114878452276715702}
|
||||
- component: {fileID: 114769119028883068}
|
||||
- component: {fileID: 114599056085522236}
|
||||
- component: {fileID: 4980189004733473499}
|
||||
m_Layer: 5
|
||||
m_Name: TextListItem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &224916463173798366
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727935926237334}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 224106021874867618}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 400, y: 0}
|
||||
m_SizeDelta: {x: 800, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &222969618919079142
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727935926237334}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &114878452276715702
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727935926237334}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 0.39215687}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Type: 1
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!114 &114769119028883068
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727935926237334}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Padding:
|
||||
m_Left: 5
|
||||
m_Right: 2
|
||||
m_Top: 2
|
||||
m_Bottom: 2
|
||||
m_ChildAlignment: 0
|
||||
m_Spacing: 2
|
||||
m_ChildForceExpandWidth: 1
|
||||
m_ChildForceExpandHeight: 1
|
||||
m_ChildControlWidth: 1
|
||||
m_ChildControlHeight: 1
|
||||
m_ChildScaleWidth: 0
|
||||
m_ChildScaleHeight: 0
|
||||
m_ReverseArrangement: 0
|
||||
--- !u!114 &114599056085522236
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727935926237334}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_HorizontalFit: 0
|
||||
m_VerticalFit: 2
|
||||
--- !u!114 &4980189004733473499
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1727935926237334}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 7e005f371ce6746488c3585f2e334b13, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
_text: {fileID: 114900463745114476}
|
||||
17
Assets/Generic Client/TextListItem.prefab.meta
Normal file
17
Assets/Generic Client/TextListItem.prefab.meta
Normal file
@@ -0,0 +1,17 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bfa1d92416b9c64428b3b69c63ffe72e
|
||||
timeCreated: 1571213203
|
||||
licenseType: Store
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 100100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 268762
|
||||
packageName: Best MQTT
|
||||
packageVersion: 3.0.4
|
||||
assetPath: Packages/com.tivadar.best.mqtt/Samples~/Generic Client/TextListItem.prefab
|
||||
uploadId: 737289
|
||||
39
Assets/Generic Client/UIExtensions.cs
Normal file
39
Assets/Generic Client/UIExtensions.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
|
||||
using Best.MQTT.Packets;
|
||||
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Best.MQTT.Examples
|
||||
{
|
||||
public static class UIExtensions
|
||||
{
|
||||
public static string GetValue(this InputField field)
|
||||
{
|
||||
var value = field.text;
|
||||
return value;
|
||||
}
|
||||
|
||||
public static string GetValue(this InputField field, string defaultValue)
|
||||
{
|
||||
var value = field.text;
|
||||
|
||||
return string.IsNullOrEmpty(value) ? defaultValue : value;
|
||||
}
|
||||
|
||||
public static int GetIntValue(this InputField field, int defaultValue)
|
||||
{
|
||||
return int.TryParse(field.text, out var value) ? value : defaultValue;
|
||||
}
|
||||
|
||||
public static bool GetBoolValue(this Toggle toggle)
|
||||
{
|
||||
return toggle.isOn;
|
||||
}
|
||||
|
||||
public static QoSLevels GetQoS(this Dropdown dropdown)
|
||||
{
|
||||
return ((QoSLevels[])Enum.GetValues(typeof(QoSLevels)))[dropdown.value];
|
||||
}
|
||||
}
|
||||
}
|
||||
18
Assets/Generic Client/UIExtensions.cs.meta
Normal file
18
Assets/Generic Client/UIExtensions.cs.meta
Normal file
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 46ef4964971658042a4aaa089ce95f75
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 268762
|
||||
packageName: Best MQTT
|
||||
packageVersion: 3.0.4
|
||||
assetPath: Packages/com.tivadar.best.mqtt/Samples~/Generic Client/UIExtensions.cs
|
||||
uploadId: 737289
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "com.Tivadar.Best.MQTT.Examples.GenericClient",
|
||||
"rootNamespace": "Best.MQTT.Examples",
|
||||
"references": [
|
||||
"GUID:9069ac25d95ca17448a247f3bb1c769f",
|
||||
"GUID:d9c143f5f90809e41835a785e1aafc2e"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": false,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"noEngineReferences": false
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5c288b9c47c5c4343aa6095908cf116e
|
||||
AssemblyDefinitionImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 268762
|
||||
packageName: Best MQTT
|
||||
packageVersion: 3.0.4
|
||||
assetPath: Packages/com.tivadar.best.mqtt/Samples~/Generic Client/com.Tivadar.Best.MQTT.Examples.GenericClient.asmdef
|
||||
uploadId: 737289
|
||||
5
Assets/Generic Client/csc.rsp
Normal file
5
Assets/Generic Client/csc.rsp
Normal file
@@ -0,0 +1,5 @@
|
||||
#https://forum.unity.com/threads/rsp-file-per-assembly-or-folder.572758/
|
||||
|
||||
#https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-options/errors-warnings
|
||||
-warnaserror
|
||||
-nowarn:CS1701,CS0612
|
||||
14
Assets/Generic Client/csc.rsp.meta
Normal file
14
Assets/Generic Client/csc.rsp.meta
Normal file
@@ -0,0 +1,14 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8466cdfc4cc3dd44ba048d4f37ec4f72
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 268762
|
||||
packageName: Best MQTT
|
||||
packageVersion: 3.0.4
|
||||
assetPath: Packages/com.tivadar.best.mqtt/Samples~/Generic Client/csc.rsp
|
||||
uploadId: 737289
|
||||
@@ -90,13 +90,8 @@ namespace Octopus.Simulator.Networks
|
||||
|
||||
public void Connect(string clientName, string host, int port)
|
||||
{
|
||||
var options = new ConnectionOptions();
|
||||
options.Host = host;
|
||||
options.Port = port;
|
||||
options.UseTLS = false;
|
||||
options.Transport = SupportedTransports.WebSocket;
|
||||
client = new MQTTClientBuilder()
|
||||
.WithOptions(options)
|
||||
.WithOptions(new ConnectionOptionsBuilder().WithWebSocket(host,port).WithPath("/mqtt"))
|
||||
.WithEventHandler(client => OnConnected(client, clientName))
|
||||
.WithEventHandler(OnStateChange)
|
||||
.WithEventHandler(OnDisconnected)
|
||||
@@ -126,12 +121,11 @@ namespace Octopus.Simulator.Networks
|
||||
private void OnMessage(MQTTClient client, SubscriptionTopic topic, string topicName, ApplicationMessage message)
|
||||
{
|
||||
var payload = Encoding.UTF8.GetString(message.Payload.Data, message.Payload.Offset, message.Payload.Count);
|
||||
//Debug.Log(payload);
|
||||
if (payload.Contains("component_id"))
|
||||
{
|
||||
basemessage = JsonConvert.DeserializeObject<BaseSimulationMessage>(payload);
|
||||
MQTTDataBase.Instance.AddDict(basemessage.component_id, payload);
|
||||
text.text = payload;
|
||||
//text.text = payload;
|
||||
}
|
||||
//onMessageReceived?.Invoke(topicName, payload);
|
||||
}
|
||||
@@ -151,7 +145,7 @@ namespace Octopus.Simulator.Networks
|
||||
{
|
||||
client?.CreateDisconnectPacketBuilder()
|
||||
.WithReasonCode(DisconnectReasonCodes.NormalDisconnection)
|
||||
//.WithReasonString("Bye")
|
||||
.WithReasonString("Bye")
|
||||
.BeginDisconnect();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,3 +5,10 @@ TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/CHANGELOG.md
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Editor/Profiler/Memory/MemoryStatsProfilerModule.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Editor/Profiler/Network/NetworkStatsProfilerModule.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -5,3 +5,10 @@ AssemblyDefinitionImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Editor/Profiler/com.Tivadar.Best.HTTP.Profiler.Editor.asmdef
|
||||
uploadId: 743984
|
||||
|
||||
@@ -5,3 +5,10 @@ TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/LICENSE.md
|
||||
uploadId: 743984
|
||||
|
||||
@@ -5,3 +5,10 @@ TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/README.md
|
||||
uploadId: 743984
|
||||
|
||||
@@ -5,3 +5,10 @@ TextScriptImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/License.txt
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/ASN1Generator.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/ASN1OctetStringParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/ASN1SequenceParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/ASN1SetParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/ASN1StreamParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/ASN1TaggedObjectParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1BitStringParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1Encodable.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1EncodableVector.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1Exception.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1GeneralizedTime.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1InputStream.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1Null.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1Object.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1ObjectDescriptor.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1OctetString.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1OutputStream.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1ParsingException.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1RelativeOid.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1Sequence.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1Set.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1Tag.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1TaggedObject.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1Tags.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1Type.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1UniversalType.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1UniversalTypes.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1UtcTime.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/Asn1Utilities.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/BERBitString.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/BERGenerator.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/BEROctetStringGenerator.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/BEROctetStringParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/BERSequenceGenerator.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/BERSequenceParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/BERSetGenerator.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/BERSetParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/BERTaggedObjectParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/BerApplicationSpecific.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/BerApplicationSpecificParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/BerBitStringParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/BerOctetString.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/BerOutputStream.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/BerSequence.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/BerSet.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/BerTaggedObject.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/ConstructedBitStream.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/ConstructedDLEncoding.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/ConstructedILEncoding.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/ConstructedLazyDLEncoding.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/ConstructedOctetStream.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DERExternal.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DERExternalParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DERGenerator.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DEROctetStringParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DERSequenceGenerator.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DERSequenceParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DERSetGenerator.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DERSetParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DLBitString.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DLBitStringParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DLSequence.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DLSet.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DLTaggedObject.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DLTaggedObjectParser.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DefiniteLengthInputStream.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DerApplicationSpecific.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DerBMPString.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DerBitString.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DerBoolean.cs
|
||||
uploadId: 743984
|
||||
|
||||
@@ -9,3 +9,10 @@ MonoImporter:
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 267636
|
||||
packageName: Best HTTP
|
||||
packageVersion: 3.0.15
|
||||
assetPath: Packages/com.tivadar.best.http/Runtime/3rdParty/BouncyCastle/asn1/DerEnumerated.cs
|
||||
uploadId: 743984
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user