Exemplo n.º 1
0
        protected Animator(SpriterEntity entity, IProviderFactory <TSprite, TSound> providerFactory = null)
        {
            Entity     = entity;
            Animations = entity.Animations.ToDictionary(a => a.Name, a => a);
            Speed      = 1.0f;

            if (providerFactory != null)
            {
                DataProvider   = providerFactory.GetDataProvider(entity);
                SpriteProvider = providerFactory.GetSpriteProvider(entity);
                SoundProvider  = providerFactory.GetSoundProvider(entity);
            }
            else
            {
                DataProvider   = new DefaultFrameDataProvider();
                SpriteProvider = new DefaultAssetProvider <TSprite>();
                SoundProvider  = new DefaultAssetProvider <TSound>();
            }
        }