コード例 #1
0
    /**
     * Running when instance was created
     * @void
     */
    void Start()
    {
        if (WClient.IsConnected() == true)
        {
            OnConnected();
        }
        else
        {
            OnDisconnected();
        }

        WClient.On(WClient.CONNECTED, OnConnected);
        WClient.On(WClient.CONNECTION_LOST, OnDisconnected);
    }
コード例 #2
0
 IEnumerator WebsocketClient()
 {
     // Instantiate a websocket
     this.gameObject.AddComponent <WClient>();
     // Set up listeners
     WClient.On(WClient.EventType.CONNECTED_TO_WS.ToString(), (string arg0) => {
         WClient.Emit(WClient.EventType.KEY.ToString(), APIKey);
     });
     WClient.On(WClient.EventType.CONNECTION_LOST.ToString(), (string arg0) => {
     });
     WClient.On(WClient.EventType.ADD_ENTRY.ToString(), (string message) => {
         // Parse new entry
         Entry entry = ParseEntry(JSON.Parse(message));
         // Download and instantiate content
         DownloadEntryAssets(entry, serverURL);
     });
     WClient.On(WClient.EventType.DELETE_ENTRY.ToString(), (string message) => {
         // Parse data
         string[] messageArray          = message.Split('|');
         string eventType               = messageArray[0];
         string entryID                 = messageArray[1];
         GameObject gameObjectToDestroy = null;
         // Find entry and destroy content
         foreach (CustomBehaviour cb in FindObjectsOfType <CustomBehaviour>())
         {
             if (cb.entry.getId().Equals(entryID))
             {
                 // Remove entry
                 dbObject.getEntries().Remove(cb.entry);
                 // Destroy game object
                 gameObjectToDestroy = cb.gameObject;
                 break;
             }
         }
         if (gameObjectToDestroy != null)
         {
             Destroy(gameObjectToDestroy);
         }
     });
     WClient.On(WClient.EventType.DATA_POST_ALL.ToString(), (string message) => {
         // Parse data
         string[] messageArray = message.Split('|');
         string eventType      = messageArray[0];
         string dataKey        = messageArray[1];
         string dataValue      = messageArray[2];
         // Find entry
         foreach (Entry entry in dbObject.getEntries())
         {
             // Update or add key
             entry.removeAdditionalData(dataKey);
             entry.addAdditionalData(dataKey, dataValue);
         }
     });
     WClient.On(WClient.EventType.DATA_POST_ENTRY.ToString(), (string message) => {
         // Parse data
         string[] messageArray = message.Split('|');
         string eventType      = messageArray[0];
         string entryID        = messageArray[1];
         string dataKey        = messageArray[2];
         string dataValue      = messageArray[3];
         // Find entry
         foreach (Entry entry in dbObject.getEntries())
         {
             if (entry.getId().Equals(entryID))
             {
                 // Update key
                 entry.removeAdditionalData(dataKey);
                 entry.addAdditionalData(dataKey, dataValue);
                 break;
             }
         }
     });
     WClient.On(WClient.EventType.DATA_REMOVE_ALL.ToString(), (string message) => {
         // Parse data
         string[] messageArray = message.Split('|');
         string eventType      = messageArray[0];
         string dataKey        = messageArray[1];
         // Find entry
         foreach (Entry entry in dbObject.getEntries())
         {
             // Remove key
             entry.removeAdditionalData(dataKey);
         }
     });
     WClient.On(WClient.EventType.DATA_REMOVE_ENTRY.ToString(), (string message) => {
         // Parse data
         string[] messageArray = message.Split('|');
         string eventType      = messageArray[0];
         string entryID        = messageArray[1];
         string dataKey        = messageArray[2];
         // Find entry
         foreach (Entry entry in dbObject.getEntries())
         {
             if (entry.getId().Equals(entryID))
             {
                 // Remove key
                 entry.removeAdditionalData(dataKey);
                 break;
             }
         }
     });
     WClient.On(WClient.EventType.SESSION_INFO.ToString(), (string session) => {
         Debug.Log("Session is: " + session);
     });
     yield return(null);
 }