Пример #1
0
 public love()
 {
     this.InitializeComponent();
     eventList = EventsManager.getLoveEvents();
     eventList.CollectionChanged += EventList_CollectionChanged;
     CheckVisibility.CheckButtonGridVisibility(eventList, ButtonGrid);
 }
Пример #2
0
        /// <summary>
        /// Here is handled object visibility processing and filtering
        /// </summary>
        protected override void OnUpdate()
        {
            var entityQuery = GetEntityQuery(typeof(GeometryDataModels.Target));
            var planes      = new NativeArray <Plane>(6, Allocator.TempJob);

            planes.CopyFrom(GeoVision.Planes);
            var job2 = new CheckVisibility()
            {
                targets = entityQuery.ToComponentDataArray <GeometryDataModels.Target>(Allocator.TempJob),

                planes   = new NativeArray <Plane>(6, Allocator.TempJob),
                entities = entityQuery.ToEntityArray(Allocator.TempJob)
            };

            job2.planes.CopyFrom(planes);
            Dependency = job2.Schedule(job2.targets.Length, 6);
            Dependency.Complete();
            //Wait for job completion


            entityCommandBuffer.AddJobHandleForProducer(Dependency);
            entityQuery.CopyFromComponentDataArray <GeometryDataModels.Target>(job2.targets);

            lastCount = entityQuery.CalculateEntityCount();
            job2.planes.Dispose();
            job2.entities.Dispose();
            job2.targets.Dispose();
            planes.Dispose();
        }
Пример #3
0
 private void EventList_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     if (ViewModel.EventList != null)
     {
         int eventsNum = ViewModel.EventList.Count;
         CheckVisibility.CheckButtonGridVisibility(eventsNum, ButtonGrid);
         EmptyEventBlock.Visibility = (eventsNum == 0) ? Visibility.Visible : Visibility.Collapsed;
     }
 }
Пример #4
0
 private void Page_Loaded(object sender, RoutedEventArgs e)
 {
     ViewModel.EventList = EventsManager.GetEventsByFoldIndex(foldIndex);
     ViewModel.EventList.CollectionChanged += EventList_CollectionChanged;
     if (ViewModel.EventList != null)
     {
         int eventsNum = ViewModel.EventList.Count;
         CheckVisibility.CheckButtonGridVisibility(eventsNum, ButtonGrid);
         EmptyEventBlock.Visibility = (eventsNum == 0) ? Visibility.Visible : Visibility.Collapsed;
     }
 }
Пример #5
0
        internal bool OnPlayerEnteredRoom(Player player)
        {
            //we already have the player added to the connections list, as it was set when we set the Owner.
            if (Owner == player)
            {
                return(true);
            }

            var vis = CheckVisibility?.Invoke(player) ?? true;

            if (vis)
            {
                ImplObservePlayer(player);
                _visibility.Add(player);
            }
            return(vis);
        }
Пример #6
0
        internal void RebuildVisibility(NetMessage ccMsg)
        {
            var destMsg     = Room.GetDestroyMessage(this, RandPRpcs.Hide);
            var hidePlayers = new List <Player>();
            var showPlayers = new List <Player>();

            foreach (var player in Room.Players)
            {
                if (player == null)
                {
                    continue;
                }
                if (!player.IsValid)
                {
                    continue;
                }
                if (player == Owner)
                {
                    continue;
                }

                var vis = CheckVisibility?.Invoke(player) ?? true;
                if (vis && !_visibility.Contains(player))
                {
                    ImplObservePlayer(player);
                    _visibility.Add(player);
                    showPlayers.Add(player);
                }
                else if (!vis && _visibility.Contains(player))
                {
                    _visibility.Remove(player);
                    ImplIgnorePlayer(player);
                    hidePlayers.Add(player);
                }
            }
            Room.SendToPlayers(hidePlayers.ToArray(), destMsg, ReliabilityMode.Ordered);
            Room.SendToPlayers(showPlayers.ToArray(), ccMsg, ReliabilityMode.Ordered);
        }
Пример #7
0
 private void EventList_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     CheckVisibility.CheckButtonGridVisibility(eventList, ButtonGrid);
 }