/// <summary> /// Updates the behavior. /// </summary> /// <param name="behavior">The behavior.</param> internal void UpdateBehavior(NetworkBehavior behavior) { if (!behavior.CreatedByBehavior && behavior.NeedSyncComponentsUpdatingComponentsToSync()) { var message = this.CreateNetworkBehaviorMessage(behavior.NetworkBehaviorId, behavior.FactoryId, NetworkSyncType.Update); behavior.WriteSyncData(message, behavior.ComponentsToSync); this.networkService.SendToServer(message, DeliveryMethod.UnreliableSequenced); } }
/// <summary> /// Sends the response to recreate this entity. /// </summary> /// <param name="behavior">The behavior.</param> private void SendResponseToRecreateThisEntity(NetworkBehavior behavior) { var responseMessage = this.CreateNetworkBehaviorMessage(behavior.NetworkBehaviorId, behavior.FactoryId, NetworkSyncType.Create); if (behavior.FactoryId == SerializationFactoryId) { this.WriteEntity(responseMessage, behavior.Owner); } behavior.WriteSyncData(responseMessage, behavior.NetworkSyncComponents); this.networkService.SendToServer(responseMessage, DeliveryMethod.ReliableOrdered); }
/// <summary> /// Removes the network entity. /// </summary> /// <param name="behavior">The behavior.</param> private void RemoveNetworkEntity(NetworkBehavior behavior) { this.entityBehaviors.Remove(behavior.NetworkBehaviorId); this.scene.EntityManager.Remove(behavior.Owner); }