private void onRoomsChanged(AGSListChangedEventArgs <IRoom> args) { if (Room == null && args.ChangeType == ListChangeType.Add) { refreshRoom(); } }
private void onComponentsChanged(AGSListChangedEventArgs <IComponent> args) { if (args.ChangeType == ListChangeType.Add && onAdded != null) { foreach (var component in args.Items) { if (component.Item is TComponent boundComponent) { _component = boundComponent; onAdded(boundComponent); return; } } } else if (args.ChangeType == ListChangeType.Remove && onRemoved != null) { foreach (var component in args.Items) { if (component.Item is TComponent boundComponent) { onRemoved(boundComponent); _component = default; if (!_collection.ComponentsInitialized) { _collection.OnComponentsInitialized.Subscribe(onComponentsInitialized); } break; } } } }
private void onRoomsChange(object sender, AGSListChangedEventArgs<IRoom> args) { var fader = _map.GetOrAdd(args.Item.ID, _ => new RoomCrossFader (this, args.Item)); if (args.ChangeType == ListChangeType.Remove) { RoomCrossFader val; _map.TryRemove(args.Item.ID, out val); fader.Dispose(); } _game.State.Rooms.OnListChanged.Subscribe(onRoomsChange); }
private void onRoomsChange(object sender, AGSListChangedEventArgs <IRoom> args) { var fader = _map.GetOrAdd(args.Item.ID, _ => new RoomCrossFader(this, args.Item)); if (args.ChangeType == ListChangeType.Remove) { RoomCrossFader val; _map.TryRemove(args.Item.ID, out val); fader.Dispose(); } _game.State.Rooms.OnListChanged.Subscribe(onRoomsChange); }
private void onRoomsChange(AGSListChangedEventArgs <IRoom> args) { foreach (var item in args.Items) { var fader = _map.GetOrAdd(item.Item.ID, _ => new RoomCrossFader(this, item.Item)); if (args.ChangeType == ListChangeType.Remove) { _map.TryRemove(item.Item.ID, out RoomCrossFader _); fader.Dispose(); } } }
private void onAreaListChanged(AGSListChangedEventArgs <IArea> args) { if (args.ChangeType == ListChangeType.Add) { subscribeAreas(args.Items.Select(a => a.Item)); } else { unsubscribeAreas(args.Items.Select(a => a.Item)); } onEverythingChanged(); }
private void onListChanged(AGSListChangedEventArgs <TEntity> args) { if (args.ChangeType == ListChangeType.Add) { foreach (var entity in args.Items) { subscribeEntity(entity.Item); } } else { foreach (var entity in args.Items) { unsubscribeEntity(entity.Item); } } _onTreeChange?.Invoke(); }
private void onAreasChanged(AGSListChangedEventArgs <IArea> args) { if (args.ChangeType == ListChangeType.Add) { foreach (var area in args.Items) { subscribeArea(area.Item); } } else { foreach (var area in args.Items) { unsubscribeArea(area.Item); } } refreshAreaScaling(); }
private void onViewportsChanged(AGSListChangedEventArgs <IViewport> args) { if (args.ChangeType == ListChangeType.Add) { foreach (var viewport in args.Items) { subscribeViewport(viewport.Item); } } else { foreach (var viewport in args.Items) { unsubscribeViewport(viewport.Item); } } refresh(); }
private void onAudioClipsChanged(AGSListChangedEventArgs <IAudioClip> args) { if (args.ChangeType == ListChangeType.Add) { foreach (var clip in args.Items) { clip.Item.OnSoundStarted.Subscribe(onSoundStarted); clip.Item.OnSoundCompleted.Subscribe(onSoundCompleted); } } else { foreach (var clip in args.Items) { clip.Item.OnSoundStarted.Unsubscribe(onSoundStarted); clip.Item.OnSoundCompleted.Unsubscribe(onSoundCompleted); } } }
private void onListChanged(object sender, AGSListChangedEventArgs <object> args) { if (args.ChangeType == ListChangeType.Remove) { var button = _itemButtons[args.Index]; button.MouseClicked.Unsubscribe(onItemClicked); DropDownPanel.TreeNode.RemoveChild(button); _itemButtons.RemoveAt(args.Index); } else { var newButton = ItemButtonFactory(); newButton.Text = args.Item.ToString(); newButton.MouseClicked.Subscribe(onItemClicked); _itemButtons.Insert(args.Index, newButton); DropDownPanel.TreeNode.AddChild(newButton); } refreshItemsLayout(); }
private void onRoomAreasChanged(AGSListChangedEventArgs <IArea> args) { var roomNode = _findRoom(Room); var expander = new NodesExpander(_treeView); var areas = roomNode.TreeNode.Children.First(c => c.Text == _areasPrefix); if (args.ChangeType == ListChangeType.Add) { foreach (var area in args.Items) { _addAreaToTree(area.Item, areas); } } else { foreach (var area in args.Items) { _removeFromTree(area.Item.ID, areas); } } expander.Expand(); }
private void onRoomsChanged(AGSListChangedEventArgs <IRoom> args) { var expander = new NodesExpander(_treeView); if (args.ChangeType == ListChangeType.Add) { subscribeRooms(args.Items.Select(i => i.Item)); foreach (var room in args.Items) { addRoomToTree(room.Item, _moreRoomsNode); } } else { unsubscribeRooms(args.Items.Select(i => i.Item)); foreach (var room in args.Items) { var roomNode = findRoom(room.Item); roomNode?.TreeNode.SetParent(null); } } expander.Expand(); }
private void onComponentsChanged(AGSListChangedEventArgs <IComponent> args) { if (args.ChangeType == ListChangeType.Add && onAdded != null) { foreach (var component in args.Items) { if (component.Item is TComponent) { onAdded((TComponent)component.Item); } } } else if (args.ChangeType == ListChangeType.Remove && onRemoved != null) { foreach (var component in args.Items) { if (component.Item is TComponent) { onRemoved((TComponent)component.Item); } } } }
private void onListChanged(object sender, AGSListChangedEventArgs<object> args) { if (args.ChangeType == ListChangeType.Remove) { var button = _itemButtons[args.Index]; button.MouseClicked.Unsubscribe(onItemClicked); DropDownPanel.TreeNode.RemoveChild(button); _itemButtons.RemoveAt(args.Index); } else { var newButton = ItemButtonFactory(); newButton.Text = args.Item.ToString(); newButton.MouseClicked.Subscribe(onItemClicked); _itemButtons.Insert(args.Index, newButton); DropDownPanel.TreeNode.AddChild(newButton); } refreshItemsLayout(); }
private void onAreasChanged(AGSListChangedEventArgs <IArea> args) { refreshRoom(); }