Beispiel #1
0
 /// <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);
     }
 }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
 /// <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);
 }