protected override void LoadContent() { Vector2 screenCentre = new Vector2(WindowWidth * 0.5f, WindowHeight * 0.5f); spriteFont = Content.Load <SpriteFont>(FontName); DefaultProviderFactory <ISprite, SoundEffect> factory = new DefaultProviderFactory <ISprite, SoundEffect>(Constants.Config, true); foreach (string scmlPath in Constants.ScmlFiles) { SpriterContentLoader loader = new SpriterContentLoader(Content, scmlPath); loader.Fill(factory); Stack <SpriteDrawInfo> drawInfoPool = new Stack <SpriteDrawInfo>(); foreach (SpriterEntity entity in loader.Spriter.Entities) { var animator = new MonoGameDebugAnimator(entity, GraphicsDevice, factory, drawInfoPool); animators.Add(animator); animator.Position = screenCentre; animator.EventTriggered += x => Debug.WriteLine("Event Happened: " + x); } } animator = animators.First(); }
protected override void Load() { centre = new Vector2(Width / 2.0f, Height / 2.0f); oldState = Keyboard.GetState(); spriteBatch = new SpriteBatch(GraphicsDevice); spriteFont = Content.Load <SpriteFont>(FontName); DefaultProviderFactory <ISprite, SoundEffect> factory = new DefaultProviderFactory <ISprite, SoundEffect>(config, true); foreach (string scmlPath in Scmls) { SpriterContentLoader loader = new SpriterContentLoader(Content, scmlPath); loader.Fill(factory); Stack <SpriteDrawInfo> drawInfoPool = new Stack <SpriteDrawInfo>(); foreach (SpriterEntity entity in loader.Spriter.Entities) { var animator = new MonoGameDebugAnimator(entity, GraphicsDevice, factory, drawInfoPool); animators.Add(animator); animator.Position = centre; } } currentAnimator = animators.First(); currentAnimator.EventTriggered += CurrentAnimator_EventTriggered; }
public void TestSetUp() { container = new InjectikusClassTestWrapper(); var factory = new DefaultProviderFactory(); binder = new DefaultBinder <I>(container, factory); }
protected override void OnLoadingContent() { base.OnLoadingContent(); content = ContentManager.Create("Content"); spriteBatch = SpriteBatch.Create(); spriteFont = content.Load <SpriteFont>("Fonts/SegoeUI"); textRenderer = new TextRenderer(); textFormatter = new StringFormatter(); textBuffer = new StringBuilder(); DefaultProviderFactory <ISprite, SoundEffect> factory = new DefaultProviderFactory <ISprite, SoundEffect>(Constants.Config, true); foreach (string scmlPath in Constants.ScmlFiles) { SpriterContentLoader loader = new SpriterContentLoader(content, scmlPath); loader.Fill(factory); Stack <SpriteDrawInfo> drawInfoPool = new Stack <SpriteDrawInfo>(); foreach (SpriterEntity entity in loader.Spriter.Entities) { var animator = new UltravioletAnimator(entity, factory, drawInfoPool); animators.Add(animator); animator.EventTriggered += x => Debug.WriteLine("Event Happened: " + x); } } animator = animators.First(); GC.Collect(2); }
protected override void LoadContent() { base.LoadContent(); spriteBatch = new SpriteBatch(Game.GraphicsDevice); debugFont = Game.Content.Load <SpriteFont>("Font"); guiHP = Game.Content.Load <Texture2D>("Gui/GUI_Elidia"); guiKeys = Game.Content.Load <Texture2D>("Gui/KeyCard"); shootingBar = Game.Content.Load <Texture2D>("Gui/shootingBar"); shootingBarActive = Game.Content.Load <Texture2D>("Gui/shootingBarActive"); DefaultProviderFactory <ISprite, SoundEffect> factory = new DefaultProviderFactory <ISprite, SoundEffect>(config, true); SpriterContentLoader loader = new SpriterContentLoader(Game.Content, scml); Stack <SpriteDrawInfo> drawInfoPool = new Stack <SpriteDrawInfo>(); loader.Fill(factory); currentAnimator = new GameAnimator(loader.Spriter.Entities[0], 1183, 3772, Game.GraphicsDevice, factory); currentAnimator.Play("Idle"); Vector2 scale = new Vector2((float)0.07); currentAnimator.getCorrection(35, 70); currentAnimator.Scale = scale; currentAnimator.Position = new Vector2(400, 500); for (int i = 0; i < maxBullets; i++) { bullets.Add(new Bullet(Game.Content.Load <Texture2D>("Elidia Spriter/Elidia Parts side view/Bullet"))); } }
public Player(XmasHell game) { _game = game; _currentDirection = Vector2.Zero; _idleAnimationTimer = new CountdownTimer(5); _idleAnimationTimer.Stop(); _idleAnimationTimer.Completed += (sender, args) => { Console.WriteLine("PLAY IDLE"); CurrentAnimator.Play("Idle"); }; var playerHitboxTexture = Assets.GetTexture2D("Graphics/Sprites/Player/hitbox"); var animatorConfig = new Config { MetadataEnabled = false, EventsEnabled = false, PoolingEnabled = true, TagsEnabled = false, VarsEnabled = false, SoundsEnabled = false }; var factory = new DefaultProviderFactory <ISprite, SoundEffect>(animatorConfig, true); var loader = new SpriterContentLoader(_game.Content, "Graphics/Sprites/Player/player"); loader.Fill(factory); Stack <SpriteDrawInfo> drawInfoPool = new Stack <SpriteDrawInfo>(); foreach (var entity in loader.Spriter.Entities) { var animator = new CustomSpriterAnimator(_game, entity, factory, drawInfoPool); _animators.Add(animator); } CurrentAnimator = _animators.First(); var spriteSize = new Vector2(60, 82); CurrentAnimator.Position = new Vector2(spriteSize.X / 2f, spriteSize.Y / 2f); CurrentAnimator.Play("Idle"); CurrentAnimator.AnimationFinished += AnimationFinished; _hitboxSprite = new Sprite(playerHitboxTexture) { //Scale = new Vector2( // (GameConfig.PlayerHitboxRadius * 2f) / playerHitboxTexture.Width, // (GameConfig.PlayerHitboxRadius * 2f) / playerHitboxTexture.Height //) }; _hitbox = new CollisionCircle(this, Vector2.Zero, GameConfig.PlayerHitboxRadius); // Don't forget to set the player position delegate to the MoverManager _game.GameManager.MoverManager.SetPlayerPositionDelegate(Position); }
public void Fill(DefaultProviderFactory <Sprite, SoundEffect> factory) { foreach (SpriterFolder folder in Spriter.Folders) { if (folder.AtlasId > -1) { AddAtlasFolder(folder, factory); } else { AddRegularFolder(folder, factory); } } }
public void Load() { spriteBatch = new SpriteBatch(Game.GraphicsDevice); debugFont = Game.Content.Load <SpriteFont>("Font"); DefaultProviderFactory <ISprite, SoundEffect> factory = new DefaultProviderFactory <ISprite, SoundEffect>(config, true); SpriterContentLoader loader = new SpriterContentLoader(Game.Content, animationPath); loader.Fill(factory); animator = new GameAnimator(loader.Spriter.Entities[0], 60, 288, Game.GraphicsDevice, factory); animator.Position = position; //Poprawa hitboxow animator.getCorrection(25, 140); animator.Play("Opened"); hackingConsole.Load(); }
internal static IResourceProvider GetResourceProvider(string virtualPath, bool isLocal) { if (!EnsureProviderFactory()) { return(null); } // TODO: check if it makes sense to cache the providers and, if yes, maybe // we should expire the entries (or just store them in InternalCache?) IResourceProvider rp = null; if (!resource_providers.TryGetValue(virtualPath, out rp)) { if (isLocal) { HttpContext ctx = HttpContext.Current; HttpRequest req = ctx != null ? ctx.Request : null; rp = provider_factory.CreateLocalResourceProvider(virtualPath); } else { rp = provider_factory.CreateGlobalResourceProvider(virtualPath); } if (rp == null) { if (isLocal) { HttpContext ctx = HttpContext.Current; HttpRequest req = ctx != null ? ctx.Request : null; rp = DefaultProviderFactory.CreateLocalResourceProvider(virtualPath); } else { rp = DefaultProviderFactory.CreateGlobalResourceProvider(virtualPath); } if (rp == null) { return(null); } } resource_providers.Add(virtualPath, rp); } return(rp); }
private void AddAtlasFolder(SpriterFolder folder, DefaultProviderFactory <ISprite, SoundEffect> factory) { int id = folder.AtlasId; TexturePackerSheet atlas = atlases[id]; Texture2D texture = LoadContent <Texture2D>(FormatPath(atlas.Meta.Image)); Dictionary <string, ImageInfo> imageInfos = infos[atlas]; foreach (SpriterFile file in folder.Files) { ImageInfo info = imageInfos[file.Name]; // "x", "y" = location in spritesheet, "w", "h" = trimmed unrotated image size Size frame = info.Frame; // "w", "h" = original image size Size source = info.SourceSize; // "x", "y" = trimmed offset - pixels trimmed from the top and left Size spriteSource = info.SpriteSourceSize; Rectangle sourceRectangle; bool rotated = false; if (info.Rotated) { sourceRectangle = new Rectangle(frame.X, frame.Y, frame.H, frame.W); rotated = true; } else { sourceRectangle = new Rectangle(frame.X, frame.Y, frame.W, frame.H); } float trimLeft = spriteSource.X; float trimRight = source.W - frame.W - spriteSource.X; float trimTop = spriteSource.Y; float trimBottom = source.H - frame.H - spriteSource.Y; int width = source.W; int height = source.H; TexturePackerSprite sprite = new TexturePackerSprite(texture, sourceRectangle, width, height, rotated, trimLeft, trimRight, trimTop, trimBottom); factory.SetSprite(Spriter, folder, file, sprite); } }
private void AddAtlasFolder(SpriterFolder folder, DefaultProviderFactory <Sprite, SoundEffect> factory) { SpriterAtlas atlas = atlases[folder.AtlasId]; Texture2D texture = content.Load <Texture2D>(FormatPath(atlas.Meta.Image)); Dictionary <string, ImageInfo> imageInfos = infos[atlas]; foreach (SpriterFile file in folder.Files) { ImageInfo info = imageInfos[file.Name]; // "x", "y" = location in spritesheet, "w", "h" = trimmed unrotated image size Size frame = info.Frame; // "w", "h" = original image size Size source = info.SourceSize; // "x", "y" = trimmed offset - pixels trimmed from the top and left Size spriteSource = info.SpriteSourceSize; Sprite sprite = new Sprite { Texture = texture, Width = source.W, Height = source.H }; sprite.TrimLeft = spriteSource.X; sprite.TrimRight = source.W - frame.W - spriteSource.X; sprite.TrimTop = spriteSource.Y; sprite.TrimBottom = source.H - frame.H - spriteSource.Y; if (info.Rotated) { sprite.SourceRectangle = new Rectangle(frame.X, frame.Y, frame.H, frame.W); sprite.Rotated = true; } else { sprite.SourceRectangle = new Rectangle(frame.X, frame.Y, frame.W, frame.H); } factory.SetSprite(Spriter, folder, file, sprite); } }
private void AddRegularFolder(SpriterFolder folder, DefaultProviderFactory <ISprite, SoundEffect> factory) { foreach (SpriterFile file in folder.Files) { string path = FormatPath(file.Name); if (file.Type == SpriterFileType.Sound) { SoundEffect sound = LoadContent <SoundEffect>(path); factory.SetSound(Spriter, folder, file, sound); } else { Texture2D texture = LoadContent <Texture2D>(path); TextureSprite sprite = new TextureSprite(texture); factory.SetSprite(Spriter, folder, file, sprite); } } }
public void Fill(DefaultProviderFactory <ISprite, SoundEffect> factory) { if (Spriter == null) { Load(); } foreach (SpriterFolder folder in Spriter.Folders) { if (atlases != null && atlases.Count > 0) { AddAtlasFolder(folder, factory); } else { AddRegularFolder(folder, factory); } } }
public void Load() { //base.LoadContent(); spriteBatch = new SpriteBatch(Game.GraphicsDevice); DefaultProviderFactory <ISprite, SoundEffect> factory = new DefaultProviderFactory <ISprite, SoundEffect>(config, true); SpriterContentLoader loader = new SpriterContentLoader(Game.Content, animationPath); loader.Fill(factory); animator = new GameAnimator(loader.Spriter.Entities[0], 1300, 3500, Game.GraphicsDevice, factory); Vector2 scale = new Vector2((float)0.07); animator.Scale = scale; animator.getCorrection(correctionX, correctionY); animator.Position = new Vector2(positionX, positionY); debugFont = Game.Content.Load <SpriteFont>("Font"); animator.Play("idle_reverse"); for (int i = 0; i < maxBullets; i++) { bullets.Add(new Bullet(Game.Content.Load <Texture2D>("Elidia Spriter/Elidia Parts side view/Bullet"))); } }
protected virtual void LoadSpriterSprite() { if (SpriterFilename == string.Empty) { throw new Exception("You need to specify a path to the spriter file of this boss"); } var factory = new DefaultProviderFactory <ISprite, SoundEffect>(DefaultAnimatorConfig, true); var loader = new SpriterContentLoader(Game.Content, SpriterFilename); loader.Fill(factory); foreach (var entity in loader.Spriter.Entities) { var animator = new CustomSpriterAnimator(entity, factory); Animators.Add(animator); } CurrentAnimator = Animators.First(); }
private static Dictionary <string, CustomSpriterAnimator> LoadSpriterFile(ContentManager content, string filename) { var factory = new DefaultProviderFactory <ISprite, SoundEffect>(DefaultAnimatorConfig, true); var loader = new SpriterContentLoader(content, filename); loader.Fill(factory); var animators = new Dictionary <string, CustomSpriterAnimator>(); foreach (var entity in loader.Spriter.Entities) { var animator = new CustomSpriterAnimator(entity, factory); // Center the animator animator.Position = XmasHell.Instance().ViewportAdapter.Center.ToVector2(); animators.Add(entity.Name, animator); } return(animators); }
protected virtual void LoadSpriterSprite(String spriterFilename) { if (spriterFilename == string.Empty) { throw new Exception("You need to specify a path to the spriter file of this boss"); } var factory = new DefaultProviderFactory <ISprite, SoundEffect>(DefaultAnimatorConfig, true); var loader = new SpriterContentLoader(Game.Content, spriterFilename); loader.Fill(factory); foreach (var entity in loader.Spriter.Entities) { var animator = new CustomSpriterAnimator(Game, entity, factory); // Center the animator animator.Position = Game.ViewportAdapter.Center.ToVector2(); Animators.Add(entity.Name, animator); } }
protected override void LoadContent() { Vector2 modelScale = new Vector2(_options.CurrentValue.ModelScale, _options.CurrentValue.ModelScale); _backgroundColor = Color.CornflowerBlue; Vector2 screenCenter = new Vector2(_options.CurrentValue.WindowWidth * 0.5f, _options.CurrentValue.WindowHeight * 0.5f); _spriteFont = Content.Load <SpriteFont>(_options.CurrentValue.FontName); DefaultProviderFactory <ISprite, SoundEffect> factory = new DefaultProviderFactory <ISprite, SoundEffect>(SpriterDemoOptions.Config, true); foreach (string scmlPath in _options.CurrentValue.RobotSprites) { SpriterDemoContentLoader loader = new SpriterDemoContentLoader(Content, scmlPath); loader.Fill(factory); Stack <SpriteDrawInfo> drawInfoPool = new Stack <SpriteDrawInfo>(); foreach (SpriterEntity entity in loader.Spriter.Entities) { var animator = new MonoGameDebugAnimator(entity, GraphicsDevice, factory, drawInfoPool); _animators[Robot.Prefix + entity.Name] = animator; //animator.Scale = modelScale; //animator.Position = new Vector2(_options.CurrentValue.WindowWidth - (100 * modelScale.X), screenCenter.Y); //animator.DrawBoxOutlines = true; //animator.AnimationFinished += AnimatorFinished; } } foreach (string scmlPath in _options.CurrentValue.MenuSprites) { SpriterDemoContentLoader loader = new SpriterDemoContentLoader(Content, scmlPath); loader.Fill(factory); Stack <SpriteDrawInfo> drawInfoPool = new Stack <SpriteDrawInfo>(); foreach (SpriterEntity entity in loader.Spriter.Entities) { var menu = new MonoGameDebugAnimator(entity, GraphicsDevice, factory, drawInfoPool); _animators[MenuItem.Prefix + entity.Name] = menu; } } var debugRobots = new List <string> { "offense_robot", "defense_robot", "utility_robot", "generic_robot" }; foreach (var robotName in debugRobots) { string key = Robot.Prefix + robotName; if (_animators.ContainsKey(key)) { var robot = new Robot(robotName, _animators[key]); robot.Animator.Position = new Vector2(250 * _robots.Count + 200, screenCenter.Y); robot.Animator.Scale = new Vector2(1f, 1f); AddContextMenuItem(robot, "menu_tinker", MenuPosition.Left); AddContextMenuItem(robot, "menu_attack", MenuPosition.Top); AddContextMenuItem(robot, "menu_defend", MenuPosition.Right); _robots[robot.Key] = robot; } } //_animator = _animators.First(); }
public void SetUp() { factory = new DefaultProviderFactory(); }