Пример #1
0
 public AGSDraggableComponent(IInput input, IGameEvents gameEvents)
 {
     _input      = input;
     _gameEvents = gameEvents;
     _gameEvents.OnRepeatedlyExecute.Subscribe(onRepeatedlyExecute);
     IsDragEnabled = true;
 }
Пример #2
0
 public Score(IScoreUi scoreUi, ScoreService scoreService, IGameEvents gameEvents)
 {
     _scoreUi      = scoreUi;
     _scoreService = scoreService;
     _gameEvents   = gameEvents;
     Init();
 }
Пример #3
0
 public InitialGameLogic(IRenderer renderer, IGameEvents gameEvent)
 {
     this.sokobanGE = new SokobanGameEngine(renderer, gameEvent);
     this.hangmanGE = new HangmanGameEngine(renderer, gameEvent);
     this.PassControlToSomeoneElse = false;
     this.Character = new Character();
 }
Пример #4
0
        private int _inUpdate; //For preventing re-entrancy

        public AGSInput(IGameEvents events, IShouldBlockInput shouldBlockInput, IAGSCursor cursor, IAGSHitTest hitTest,
                        IEvent <API.MouseButtonEventArgs> mouseDown,
                        IEvent <API.MouseButtonEventArgs> mouseUp, IEvent <MousePositionEventArgs> mouseMove,
                        IEvent <KeyboardEventArgs> keyDown, IEvent <KeyboardEventArgs> keyUp, ICoordinates coordinates)
        {
            _cursor           = cursor;
            _events           = events;
            _hitTest          = hitTest;
            _actions          = new ConcurrentQueue <Func <Task> >();
            _coordinates      = coordinates;
            _shouldBlockInput = shouldBlockInput;
            _keysDown         = new AGSConcurrentHashSet <API.Key>();

            MouseDown = mouseDown;
            MouseUp   = mouseUp;
            MouseMove = mouseMove;
            KeyDown   = keyDown;
            KeyUp     = keyUp;

            if (AGSGameWindow.GameWindow != null)
            {
                init(AGSGameWindow.GameWindow);
            }
            else
            {
                AGSGameWindow.OnInit = () => init(AGSGameWindow.GameWindow);
            }
        }
Пример #5
0
 public AGSBoundingBoxWithChildrenComponent(IGameState state, IGameEvents events)
 {
     _state         = state;
     EntitiesToSkip = new AGSConcurrentHashSet <string>();
     OnBoundingBoxWithChildrenChanged = new AGSEvent();
     events.OnRepeatedlyExecute.Subscribe(onRepeatedlyExecute);
 }
Пример #6
0
 public AGSSliderComponent(IGameState state, IInput input, IGameEvents gameEvents)
 {
     _state         = state;
     _input         = input;
     _gameEvents    = gameEvents;
     OnValueChanged = new AGSEvent <SliderValueEventArgs> ();
 }
Пример #7
0
        public AGSTextComponent(IRenderPipeline pipeline, IBoundingBoxBuilder boundingBoxBuilder,
                                IGLTextureRenderer textureRenderer, BitmapPool bitmapPool,
                                AGSBoundingBoxes labelBoundingBoxes, AGSBoundingBoxes textBoundingBoxes,
                                IGLUtils glUtils, IGraphicsBackend graphics, IFontFactory fonts,
                                IRuntimeSettings settings, IRenderMessagePump messagePump, IGameState state, IGameEvents events)
        {
            _pipeline = pipeline;
            _afterCropTextBoundingBoxes = new AGSBoundingBoxes();
            _state                       = state;
            _events                      = events;
            Width                        = 1f;
            Height                       = 1f;
            _matricesPool                = new GLMatrices[3];
            _messagePump                 = messagePump;
            OnLabelSizeChanged           = new AGSEvent();
            _graphics                    = graphics;
            _fonts                       = fonts;
            _bitmapPool                  = bitmapPool;
            _labelBoundingBoxes          = labelBoundingBoxes;
            _textBoundingBoxes           = textBoundingBoxes;
            _boundingBoxBuilder          = boundingBoxBuilder;
            _virtualResolution           = settings.VirtualResolution;
            _settings                    = settings;
            _labelBoundingBoxFakeBuilder = new BoundingBoxesEmptyBuilder();

            _instructionPool = new ObjectPool <Instruction>(pool => new Instruction(pool, glUtils, textureRenderer, _glTextHitTest), 0);

            TextVisible = true;

            subscribeTextConfigChanges();
            PropertyChanged           += onPropertyChanged;
            _shouldUpdateBoundingBoxes = true;
        }
Пример #8
0
		public AGSSliderComponent(IGameState state, IInput input, IGameEvents gameEvents)
		{
			_state = state;
			_input = input;
			_gameEvents = gameEvents;
			OnValueChanged = new AGSEvent<SliderValueEventArgs> ();
		}
Пример #9
0
 public AGSHasCursorComponent(IGameEvents events, IHitTest hitTest, IGameState state)
 {
     _events  = events;
     _hitTest = hitTest;
     _state   = state;
     events.OnRepeatedlyExecute.Subscribe(onRepeatedlyExecute);
 }
Пример #10
0
 public AGSDraggableComponent(IInput input, IGameEvents gameEvents)
 {
     _input = input;
     _gameEvents = gameEvents;
     _gameEvents.OnRepeatedlyExecute.Subscribe(onRepeatedlyExecute);
     IsDragEnabled = true;
 }
		public AGSInventoryWindowComponent(IGameState state, IGameEvents gameEvents)
		{
			_state = state;
			_inventoryItems = new List<IObject> (20);
			_gameEvents = gameEvents;
			_gameEvents.OnRepeatedlyExecute.Subscribe(onRepeatedlyExecute);
		}
Пример #12
0
 public HangmanGameEngine(IRenderer renderer, IGameEvents gameEvents)
 {
     this.renderer         = renderer;
     this.gameEvents       = gameEvents;
     this.hangmanGameLogic = new HangmanGameLogic();
     this.field            = new HangmanGameField();
 }
Пример #13
0
 public SokobanGameEngine(IRenderer passedRenderer, IGameEvents passedGameEvents)
 {
     this.renderer         = passedRenderer;
     this.gameEvents       = passedGameEvents;
     this.sokobanGameLogic = new SokobanGameLogic();
     this.level1           = new SokobanGameLevel1();
 }
Пример #14
0
 public AGSInventoryWindowComponent(IGameState state, IGameEvents gameEvents)
 {
     _state          = state;
     _inventoryItems = new List <IObject> (20);
     _gameEvents     = gameEvents;
     _gameEvents.OnRepeatedlyExecute.Subscribe(onRepeatedlyExecute);
 }
Пример #15
0
 public AGSGameLoop(IGameState gameState, AGS.API.Size virtualResolution,
                    IAGSRoomTransitions roomTransitions, IGameEvents events)
 {
     _gameState         = gameState;
     _events            = events;
     _virtualResolution = virtualResolution;
     _roomTransitions   = roomTransitions;
 }
Пример #16
0
 public AGSHitTest(IGameState state, IGameEvents events, IInput input, IDisplayList displayList)
 {
     _displayList = displayList;
     _state       = state;
     _events      = events;
     _input       = input;
     events.OnRepeatedlyExecute.Subscribe(onRepeatedlyExecute);
 }
Пример #17
0
        public GameEventHandler(ISettingsProvider settingsProvider, IGameEvents tarkov)
        {
            _settingsProvider = settingsProvider;
            _tarkov           = tarkov;

            _tarkov.GameStarting       += GameStartingEventHandler;
            _tarkov.MatchmakingAborted += MatchmakingAbortedHandler;
        }
Пример #18
0
 public HotspotLabel(IGame game, ILabel label)
 {
     _label = label;
     _events = game.Events;
     _input = game.Input;
     _state = game.State;
     _game = game;
 }
Пример #19
0
 public GameHub(
     IGameEvents gameEvents,
     Mines mines
     )
 {
     _gameEvents = gameEvents;
     _mines      = mines;
 }
Пример #20
0
		public HotspotLabel(IGame game, ILabel label)
		{
			_label = label;
			_events = game.Events;
			_input = game.Input;
			_state = game.State;
			_game = game;
		}
Пример #21
0
 public AGSComboBoxComponent(IUIFactory factory, IGameEvents gameEvents)
 {
     _uiFactory   = factory;
     _itemButtons = new List <IButton>();
     _items       = new AGSBindingList <object>(10);
     _items.OnListChanged.Subscribe(onListChanged);
     gameEvents.OnRepeatedlyExecute.Subscribe((_, __) => refreshDropDownLayout());
 }
Пример #22
0
 public AGSComboBoxComponent(IUIFactory factory, IGameEvents gameEvents)
 {
     _uiFactory = factory;
     _itemButtons = new List<IButton>();
     _items = new AGSBindingList<object>(10);
     _items.OnListChanged.Subscribe(onListChanged);
     gameEvents.OnRepeatedlyExecute.Subscribe((_, __) => refreshDropDownLayout());
 }
Пример #23
0
 static void SubscribeToEvents()
 {
     _events = _container.Resolve <IGameEvents>();
     _events.GameSessionStarted  += Events_GameSessionStarted;
     _events.GameSessionFinished += Events_GameSessionFinished;
     _events.FireRequested       += Events_FireRequested;
     _events.RoundFinished       += Events_RoundFinished;
 }
Пример #24
0
 public Experience(IExperienceUi experienceUi, ScoreService score,
                   ExperienceService experienceService, IGameEvents gameEvents)
 {
     _experienceUi      = experienceUi;
     _score             = score;
     _experienceService = experienceService;
     _gameEvents        = gameEvents;
     Init();
 }
Пример #25
0
 public AGSComboBoxComponent(IGameEvents gameEvents, IInput input, IGameState state)
 {
     _state                 = state;
     _input                 = input;
     _gameEvents            = gameEvents;
     MarkComboboxSuggestion = markSuggestion;
     gameEvents.OnRepeatedlyExecute.Subscribe(refreshDropDownLayout);
     input.MouseDown.Subscribe(onMouseDown);
 }
Пример #26
0
		public DefaultInteractions(IGame game, IGameEvents gameEvents)
		{
			_game = game;
			_gameEvents = gameEvents;

			_looks = new List<string> { "&1 It looks nice.", "&2Nothing to see here.", "&3 I guess it looks ok." };
			_interacts = new List<string> { "I can't do that.", "Nope.", "I don't think so." };
			_inventoryInteracts = _interacts;
		}
Пример #27
0
        private int _inUpdate; //For preventing re-entrancy

        public TreeTableLayout(IGameEvents gameEvents)
        {
            ColumnSizes           = new AGSBindingList <float>(10);
            Rows                  = new AGSBindingList <ITreeTableRowLayoutComponent>(10);
            OnRefreshLayoutNeeded = new AGSEvent();
            OnQueryLayout         = new AGSEvent <QueryLayoutEventArgs>();
            Rows.OnListChanged.Subscribe(onRowsChanged);
            gameEvents.OnRepeatedlyExecute.Subscribe(onRepeatedlyExecute);
        }
Пример #28
0
 public InspectorTreeNodeProvider(ITreeNodeViewProvider provider, IGameEvents gameEvents, IObject inspectorPanel)
 {
     _inspectorPanel    = inspectorPanel;
     _onResize          = new AGSEvent <float>();
     _provider          = provider;
     _gameEvents        = gameEvents;
     _layouts           = new Dictionary <string, ITreeTableLayout>();
     _resizeSubscribers = new Dictionary <ITreeNodeView, ResizeSubscriber>();
 }
Пример #29
0
 public Board(IGameEvents events)
 {
     Directory.SetCurrentDirectory(@"..\..\");
     this.board  = new GameBoard(this);
     this.events = events;
     gameSound   = new WindowsMediaPlayer();
     gameSound.settings.setMode("Loop", true);
     events.GameInit(this);
 }
Пример #30
0
 public AGSSaveLoad(Resolver resolver, IGameFactory factory,
                    IDictionary <string, ITexture> textures, IGame game, IFileSystem fileSystem)
 {
     _resolver   = resolver;
     _factory    = factory;
     _textures   = textures;
     _state      = game.State;
     _events     = game.Events;
     _fileSystem = fileSystem;
 }
Пример #31
0
        private int _inUpdate; //For preventing re-entrancy

        public AGSStackLayoutComponent(IGameEvents gameEvents)
        {
            _gameEvents      = gameEvents;
            _isPaused        = true;
            _isDirty         = true;
            OnLayoutChanged  = new AGSEvent();
            EntitiesToIgnore = new AGSConcurrentHashSet <string>();
            _direction       = LayoutDirection.Vertical;
            _relativeSpacing = -1f; //a simple vertical layout top to bottom by default.
            gameEvents.OnRepeatedlyExecute.Subscribe(onRepeatedlyExecute);
        }
Пример #32
0
        private int _inUpdate; //For preventing re-entrancy

        public UIEventsAggregator(IInput input, IHitTest hitTest, IGameEvents gameEvents, IFocusedUI focus)
        {
            _hitTest             = hitTest;
            _focus               = focus;
            _subscribersToAdd    = new ConcurrentQueue <Subscriber>();
            _subscribersToRemove = new ConcurrentQueue <string>();
            _input               = input;
            _gameEvents          = gameEvents;
            _subscribers         = new List <Subscriber>(100);
            gameEvents.OnRepeatedlyExecute.Subscribe(onRepeatedlyExecute);
        }
Пример #33
0
        public RoomMusicCrossFading(IGameState state, IGameEvents events)
        {
            //Default: Linear 3 seconds fade out with no fade in (most music clips already have a 'fade-in' at the start)
            FadeOut        = true;
            FadeOutSeconds = 3f;

            _map   = new ConcurrentDictionary <string, RoomCrossFader> ();
            _state = state;
            state.Rooms.OnListChanged.Subscribe(onRoomsChange);
            events.OnSavedGameLoad.Subscribe(onSavedGameLoad);
        }
Пример #34
0
 public Board()
 {
     Directory.SetCurrentDirectory(@"..\..\");
     this.events      = new GameEvents();
     this.board       = new GameBoard(this);
     this.timer       = new Timer();
     this.timer.Tick += GameTick;
     gameSound        = new WindowsMediaPlayer();
     gameSound.settings.setMode("Loop", true);
     events.GameInit(this);
 }
Пример #35
0
 public AGSSaveLoad(Resolver resolver, IGameFactory factory,
                    ITextureCache textures, IGame game, IFileSystem fileSystem)
 {
     _game       = game;
     _resolver   = resolver;
     _factory    = factory;
     _textures   = textures;
     _state      = game.State;
     _events     = game.Events;
     _fileSystem = fileSystem;
 }
Пример #36
0
 public AGSSliderComponent(IGameState state, IInput input, IGameEvents gameEvents, IFocusedUI focus)
 {
     _focus               = focus;
     _state               = state;
     _input               = input;
     _gameEvents          = gameEvents;
     AllowKeyboardControl = true;
     OnValueChanged       = new AGSEvent <SliderValueEventArgs>();
     OnValueChanging      = new AGSEvent <SliderValueEventArgs>();
     input.KeyUp.Subscribe(onKeyUp);
 }
Пример #37
0
		public VerbOnHotspotLabel(Func<string> getMode, IGame game, ILabel label)
		{
			_getMode = getMode;
			_label = label;
			_events = game.Events;
			_input = game.Input;
			_state = game.State;
			_game = game;

			_verbFormats = new Dictionary<string, string> (10)
			{
				{RotatingCursorScheme.LOOK_MODE, "Look on {0}"},
				{RotatingCursorScheme.INTERACT_MODE, "Interact with {0}"},
				{RotatingCursorScheme.WALK_MODE, "Walk to {0}"},
                {RotatingCursorScheme.INVENTORY_MODE, "Use {1} on {0}" },
				{"Talk", "Talk to {0}"},
			};
		}
Пример #38
0
		public AGSUIEvents(IInput input, IGameState state, IGameEvents gameEvents)
		{
			_input = input;
			_state = state;
			_gameEvents = gameEvents;

			MouseEnter = new AGSEvent<MousePositionEventArgs> ();
			MouseLeave = new AGSEvent<MousePositionEventArgs> ();
			MouseMove = new AGSEvent<MousePositionEventArgs> ();
			MouseClicked = new AGSEvent<MouseButtonEventArgs> ();
            MouseDoubleClicked = new AGSEvent<MouseButtonEventArgs>();
            MouseDown = new AGSEvent<MouseButtonEventArgs> ();
			MouseUp = new AGSEvent<MouseButtonEventArgs> ();
            LostFocus = new AGSEvent<MouseButtonEventArgs>();

			_leftMouseClickTimer = new Stopwatch ();
			_rightMouseClickTimer = new Stopwatch ();
            _leftMouseDoubleClickTimer = new Stopwatch();
            _rightMouseDoubleClickTimer = new Stopwatch();
        }
Пример #39
0
		public AGSWalkBehavior(IObject obj, IPathFinder pathFinder, IFaceDirectionBehavior faceDirection, 
                               IHasOutfit outfit, IObjectFactory objFactory, IGame game, IGLUtils glUtils)
		{
            _state = game.State;
            _cutscene = _state.Cutscene;
            _events = game.Events;
			_obj = obj;
			_pathFinder = pathFinder;
			_faceDirection = faceDirection;
			_outfit = outfit;
			_objFactory = objFactory;
            _glUtils = glUtils;

			_debugPath = new List<IObject> ();
			_walkCompleted = new TaskCompletionSource<object> ();
			_walkCompleted.SetResult(null);
            AdjustWalkSpeedToScaleArea = true;
            MovementLinkedToAnimation = true;
            WalkStep = new PointF(8f, 8f);

            _events.OnRepeatedlyExecute.Subscribe(onRepeatedlyExecute);
		}
Пример #40
0
		public AGSHotspotComponent(IGameEvents gameEvents, Resolver resolver)
		{
			_resolver = resolver;
			_gameEvents = gameEvents;
		}