public virtual void Initialize()
 {
     NetworkClient.Connect(_options.IpAddress, _options.Port);
     SceneTrackedManager.Initialize();
     GameObjectTrackedManager.Initialize();
     GameObjectComponentTrackedManager.Initialize();
     ComponentPropertyTrackedManager.Initialize();
     SceneTrackedManager.AddItem                           += SceneTrackedManagerOnAddItem;
     GameObjectTrackedManager.AddItem                      += SceneTrackedManagerOnAddItem;
     GameObjectComponentTrackedManager.AddItem             += SceneTrackedManagerOnAddItem;
     ComponentPropertyTrackedManager.AddItem               += SceneTrackedManagerOnAddItem;
     SceneTrackedManager.ItemPropertyChanged               += TrackedManagerOnItemPropertyChanged;
     GameObjectTrackedManager.ItemPropertyChanged          += TrackedManagerOnItemPropertyChanged;
     GameObjectComponentTrackedManager.ItemPropertyChanged += TrackedManagerOnItemPropertyChanged;
     ComponentPropertyTrackedManager.ItemPropertyChanged   += TrackedManagerOnItemPropertyChanged;
     SceneTrackedManager.RemoveItem                        += SceneTrackedManagerOnRemoveItem;
     GameObjectTrackedManager.RemoveItem                   += SceneTrackedManagerOnRemoveItem;
     GameObjectComponentTrackedManager.RemoveItem          += SceneTrackedManagerOnRemoveItem;
     ComponentPropertyTrackedManager.RemoveItem            += SceneTrackedManagerOnRemoveItem;
     NetworkClient.Message += NetworkClientOnMessage;
     NetworkClient.Send(null, _options.RoomId, QueryType.GetAll);
 }
 public void CreateGameObjectItem(CreateManagerItem createManagerItem)
 {
     GameObjectTrackedManager.Create(createManagerItem);
 }
 public void SetGameObjectPropertyValue(ManagerPropertyValue propertyValue)
 {
     GameObjectTrackedManager.Update(propertyValue);
 }