예제 #1
0
        private Task OnDeleteAllContainers(MessageContainer obj)
        {
            MessageDeleteAllVisContainers message = MessageDeleteAllVisContainers.Unpack(obj);

            if (message != null)
            {
                DeleteAllViewContainers(false);
            }

            return(Task.CompletedTask);
        }
예제 #2
0
        /// <summary>
        /// Deletes all existing <see cref="ViewContainer">ViewContainers</see>.
        /// </summary>
        /// <param name="syncWithRemote">Indicates whether the containers should also be deleted on remote clients.</param>
        public void DeleteAllViewContainers(bool syncWithRemote = true)
        {
            if (ViewContainers != null)
            {
                foreach (var container in ViewContainers)
                {
                    Destroy(container.Value.gameObject);
                }

                ViewContainers.Clear();
            }

            if (syncWithRemote)
            {
                var message = new MessageDeleteAllVisContainers();
                Services.NetworkManager().SendMessage(message.Pack());
            }
        }