public async Task LoadAsync(IGameFactory factory)
		{
            AGSLoadImageConfig loadConfig = new AGSLoadImageConfig(new AGS.API.Point(0, 0));
			Bottle = await factory.Inventory.GetInventoryItemAsync("Bottle", "../../Assets/Rooms/EmptyStreet/bottle.bmp", null, loadConfig);
			VoodooDoll = await factory.Inventory.GetInventoryItemAsync("Voodoo Doll", _baseFolder + "voodooDoll.bmp", null, loadConfig, true);
			Poster = await factory.Inventory.GetInventoryItemAsync("Poster", _baseFolder + "poster.bmp", playerStartsWithItem: true);
			Manual = await factory.Inventory.GetInventoryItemAsync("Manual", _baseFolder + "manual.bmp", null, loadConfig, true);
		}
        private ITexture initEmptyTexture()
        {
            var bitmap = _bitmapLoader.Load(1, 1);

            bitmap.SetPixel(Colors.White, 0, 0);
            var config = new AGSLoadImageConfig(config: new AGSTextureConfig(scaleUp: ScaleUpFilters.Nearest));

            return(_graphicsFactory.LoadImage(bitmap, config).Texture);
        }
Exemple #3
0
		public async Task<ICharacter> LoadAsync(IGame game)
		{
			_game = game;
			IGameFactory factory = game.Factory;
            AGSLoadImageConfig loadConfig = new AGSLoadImageConfig(new AGS.API.Point(0, 0));

			IOutfit outfit = await factory.Outfit.LoadOutfitFromFoldersAsync(_baseFolder, 
				walkLeftFolder: "Walk/left", walkDownFolder: "Walk/down", walkRightFolder: "Walk/right", walkUpFolder: "Walk/up", 
				idleLeftFolder: "Idle/left", idleDownFolder: "Idle/down", idleRightFolder: "Idle/right", idleUpFolder: "Idle/up", 
				speakLeftFolder: "Talk/left", speakDownFolder: "Talk/down", speakRightFolder: "Talk/right", speakUpFolder: "Talk/up", 
				loadConfig: loadConfig);

			_character = factory.Object.GetCharacter("Beman", outfit).Remember(_game, character => 
			{
				_character = character;
				subscribeEvents();
			});
            _character.SpeechConfig.TextConfig = AGSTextConfig.ChangeColor(_character.SpeechConfig.TextConfig, Colors.CornflowerBlue, Colors.Black, 1f);
            _character.SpeechConfig.TextOffset = new PointF(0f, -10f);

            //Uncomment for portrait
            /*
            var portrait = game.Factory.Object.GetObject("BemanPortrait");
            portrait.StartAnimation(game.Factory.Graphics.LoadAnimationFromFolder(_baseFolder + "Talk/down"));
            portrait.Border = AGSBorders.SolidColor(Colors.AliceBlue, 3f, true);
            portrait.Visible = false;
            portrait.RenderLayer = AGSLayers.Speech;
            portrait.IgnoreViewport = true;
            portrait.IgnoreScalingArea = true;
            game.State.UI.Add(portrait);
            _character.SpeechConfig.PortraitConfig = new AGSPortraitConfig { Portrait = portrait, Positioning = PortraitPositioning.Alternating };
            */

            var speakAnimation = _character.Outfit[AGSOutfit.Speak];
            Characters.RandomAnimationDelay(speakAnimation.Left);
			Characters.RandomAnimationDelay(speakAnimation.Right);
			Characters.RandomAnimationDelay(speakAnimation.Down);
			Characters.RandomAnimationDelay(speakAnimation.Up);

            _character.StartAnimation (_character.Outfit[AGSOutfit.Idle].Down);
			_character.Hotspot = "Beman";
			_character.PixelPerfect(true);

			Characters.Beman = _character;

			_dialogs.Load(game);
			return _character;
		}
Exemple #4
0
		public async Task<ICharacter> LoadAsync(IGame game)
		{
            AGSLoadImageConfig loadConfig = new AGSLoadImageConfig(new AGS.API.Point(0, 0));

			var footstep = await game.Factory.Sound.LoadAudioClipAsync("../../Assets/Sounds/151238__owlstorm__hard-female-footstep-2.wav");
			ISoundEmitter emitter = new AGSSoundEmitter (game);
			emitter.AudioClip = footstep;

			IOutfit outfit = await game.Factory.Outfit.LoadOutfitFromFoldersAsync(_baseFolder, walkLeftFolder: "Walk/left",
				walkDownFolder: "Walk/front", idleLeftFolder: "Idle/left", idleDownFolder: "Idle/front", 
				speakLeftFolder: "Talk", loadConfig: loadConfig);

			_character = game.Factory.Object.GetCharacter("Cris", outfit).Remember(game, c => _character = c);
            _character.SpeechConfig.TextConfig = AGSTextConfig.ChangeColor(_character.SpeechConfig.TextConfig, Colors.OrangeRed, Colors.Black, 1f);
            _character.AddComponent<IApproachComponent>();
			emitter.Object = _character;


            //Uncomment for portrait
            /*
            var portrait = game.Factory.Object.GetObject("CrisPortrait");
            portrait.StartAnimation(game.Factory.Graphics.LoadAnimationFromFolder(_baseFolder + "Talk"));
            portrait.Border = AGSBorders.SolidColor(Colors.AliceBlue, 3f, true);
            portrait.Visible = false;
            portrait.RenderLayer = AGSLayers.Speech;
            portrait.IgnoreViewport = true;
            portrait.IgnoreScalingArea = true;
            game.State.UI.Add(portrait);
            _character.SpeechConfig.PortraitConfig = new AGSPortraitConfig { Portrait = portrait, Positioning = PortraitPositioning.Alternating };
            */

            var speakAnimation = _character.Outfit[AGSOutfit.Speak];
			Characters.RandomAnimationDelay(speakAnimation.Left);
			Characters.RandomAnimationDelay(speakAnimation.Right);
            emitter.Assign(_character.Outfit[AGSOutfit.Walk], 1, 5);

            _character.StartAnimation (_character.Outfit[AGSOutfit.Idle].Down);
			_character.Hotspot = "Cris";
			_character.PixelPerfect(true);

			Characters.Cris = _character;
			return _character;
		}
Exemple #5
0
		public async Task LoadAsync(IGame game)
		{
			_game = game;
			IGameFactory factory = game.Factory;
			_panel = await factory.UI.GetPanelAsync(_panelId, "../../Assets/Gui/DialogBox/options.bmp", 160f, 100f);
			_panel.Anchor = new AGS.API.PointF (0.5f, 0.5f);
			_panel.Visible = false;

            AGSLoadImageConfig loadConfig = new AGSLoadImageConfig(new AGS.API.Point(0, 0));

			ISlider volumeSlider = await factory.UI.GetSliderAsync("Volume Slider", _sliderFolder + "slider.bmp", _sliderFolder + "handle.bmp", 0.5f, 0f, 1f, 
				loadConfig: loadConfig);
			volumeSlider.X = 120f;
			volumeSlider.Y = 10f;
			volumeSlider.HandleGraphics.Anchor = new AGS.API.PointF (0.5f, 0.5f);
			volumeSlider.TreeNode.SetParent(_panel.TreeNode);
			volumeSlider.OnValueChanged(onVolumeChanged, _game);

			ILabel volumeLabel = factory.UI.GetLabel("Volume Label", "Volume", 50f, 30f, 120f, 85f, _textConfig); 
			volumeLabel.Anchor = new AGS.API.PointF (0.5f, 0f);
			volumeLabel.TreeNode.SetParent(_panel.TreeNode);

			ISlider speedSlider = await factory.UI.GetSliderAsync("Speed Slider", _sliderFolder + "slider.bmp", _sliderFolder + "handle.bmp", 100f, 1f, 200f, 
				loadConfig: loadConfig);
			speedSlider.X = 180f;
			speedSlider.Y = 10f;
			speedSlider.HandleGraphics.Anchor = new AGS.API.PointF (0.5f, 0.5f);
			speedSlider.TreeNode.SetParent(_panel.TreeNode);
			speedSlider.OnValueChanged(onSpeedChanged, _game);

			ILabel speedLabel = factory.UI.GetLabel("Speed Label", "Speed", 50f, 30f, 180f, 85f, _textConfig); 
			speedLabel.Anchor = new AGS.API.PointF (0.5f, 0f);
			speedLabel.TreeNode.SetParent(_panel.TreeNode);

			_game.Events.OnSavedGameLoad.Subscribe((sender, args) => findPanel());

            await loadButton("Resume", 95, Hide);
            await loadButton("Restart", 75, restart);
			await loadButton("Load", 55, load);
			await loadButton("Save", 35, save);
			await loadButton("Quit", 15, quit);
		}
Exemple #6
0
		public async Task<IRoom> LoadAsync(IGame game)
		{
			_game = game;
			IGameFactory factory = game.Factory;
			_bottleEffectClip = await factory.Sound.LoadAudioClipAsync("../../Assets/Sounds/254818__kwahmah-02__rattling-glass-bottles-impact.wav");

            ILoadImageConfig loadConfig = new AGSLoadImageConfig(new AGS.API.Point(0, 0));
			_room = factory.Room.GetRoom(_roomId, 20f, 310f, 190f, 10f);
			_room.MusicOnLoad = await factory.Sound.LoadAudioClipAsync("../../Assets/Sounds/AMemoryAway.ogg");

			_game.Events.OnSavedGameLoad.Subscribe((sender, e) => onSavedGameLoaded());

			IObject bg = factory.Object.GetObject("Empty Street BG");
			bg.Image = await factory.Graphics.LoadImageAsync(_baseFolder + "bg.png");
			_room.Background = bg;

			AGSMaskLoader maskLoader = new AGSMaskLoader (factory, new ResourceLoader());
            _room.Areas.Add(AGSWalkableArea.Create("EmptyStreetWalkable1", await maskLoader.LoadAsync(_baseFolder + "walkable1.png")));
            _room.Areas.Add(AGSWalkableArea.Create("EmptyStreetWalkable2", await maskLoader.LoadAsync (_baseFolder + "walkable2.png")));
			AGSScalingArea.Create(_room.Areas[0], 0.50f, 0.75f);
			AGSScalingArea.Create(_room.Areas[1], 0.75f, 0.90f);

			IObject bottleHotspot = await factory.Object.GetHotspotAsync(_baseFolder + "BottleHotspot.png", "Bottle");
			bottleHotspot.WalkPoint = new AGS.API.PointF (140f, 50f);
			_room.Objects.Add(await factory.Object.GetHotspotAsync (_baseFolder + "CurbHotspot.png", "Curb"));
			_room.Objects.Add(bottleHotspot);
			_room.Objects.Add(await factory.Object.GetHotspotAsync (_baseFolder + "GapHotspot.png", "Gap", new[]{"It's a gap!", "I wonder what's in there!"}));

			_bottle = factory.Object.GetObject(_bottleId);
			_bottle.Image = await factory.Graphics.LoadImageAsync(_baseFolder + "bottle.bmp", loadConfig: loadConfig);
			_bottle.WalkPoint = bottleHotspot.WalkPoint;
			_bottle.X = 185f;
			_bottle.Y = 85f;
			_bottle.Hotspot = "Bottle";
			_room.Objects.Add(_bottle);

			subscribeEvents();

			return _room;
		}
Exemple #7
0
		public MouseCursors()
		{
            _loadConfig = new AGSLoadImageConfig(new AGS.API.Point(0, 12));
		}