Esempio n. 1
0
 public void ToItem(AGSSerializationContext context, AGSImageComponent container)
 {
     container.SpriteProvider = SpriteProvider.ToItem(context);
     container.Border         = Border.ToItem(context);
     container.DebugDrawPivot = DebugDrawPivot;
     container.Image          = Image.ToItem(context);
 }
Esempio n. 2
0
    public void SwitchTileState(TileType tileType, SpriteProvider spriteProvider)
    {
        switch (tileType)
        {
        case TileType.Wall:
            tileName              = "Wall " + id;
            this.gameObject.name  = tileName;
            renderer2D.sprite     = spriteProvider.GetSprite("Wall");
            this.tileSize         = new Vector3(renderer2D.sprite.textureRect.width / 100, renderer2D.sprite.textureRect.height / 100);
            this.gameObject.layer = 9;
            this.collider.size    = new Vector2(renderer2D.sprite.textureRect.width / 100, renderer2D.sprite.textureRect.height / 100);
            this.collider.enabled = true;
            break;

        case TileType.Ground:
            passable              = true;
            tileName              = "Ground " + id;
            this.gameObject.name  = tileName;
            renderer2D.sprite     = spriteProvider.GetSprite("Ground");
            this.tileSize         = new Vector3(renderer2D.sprite.textureRect.width / 100, renderer2D.sprite.textureRect.height / 100);
            this.gameObject.layer = 8;
            this.collider.size    = new Vector2(renderer2D.sprite.textureRect.width / 100, renderer2D.sprite.textureRect.height / 100);
            this.collider.enabled = false;
            break;

        case TileType.Test:
            tileName             = "Test " + id;
            this.gameObject.name = tileName;
            renderer2D.sprite    = spriteProvider.GetSprite("Test");
            this.tileSize        = new Vector3(renderer2D.sprite.textureRect.width / 100, renderer2D.sprite.textureRect.height / 100);
            break;

        case TileType.Empty:
            tileName             = "Empty " + id;
            this.gameObject.name = tileName;
            renderer2D.sprite    = spriteProvider.GetSprite("Wall");
            this.tileSize        = new Vector3(renderer2D.sprite.textureRect.width / 100, renderer2D.sprite.textureRect.height / 100);
            break;

        case TileType.OpenDoor:
            passable             = true;
            tileName             = "OpenDoor " + id;
            this.gameObject.name = tileName;
            renderer2D.sprite    = spriteProvider.GetSprite("OpenDoor");
            this.tileSize        = new Vector3(renderer2D.sprite.textureRect.width / 100, renderer2D.sprite.textureRect.height / 100);
            break;

        case TileType.ClosedDoor:
            passable             = true;
            tileName             = "ClosedDoor" + id;
            this.gameObject.name = tileName;
            renderer2D.sprite    = spriteProvider.GetSprite("ClosedDoor");
            this.tileSize        = new Vector3(renderer2D.sprite.textureRect.width / 100, renderer2D.sprite.textureRect.height / 100);
            break;
        }
    }
Esempio n. 3
0
 void OnEnable()
 {
     dungeon       = target as Dungeon;
     dungeon.level = new Level();
     Tools.current = Tool.View;
     tilePool      = new Dictionary <int, GameObject>();
     if (dungeon.texture2D)
     {
         spriteProvider = new SpriteProvider(AssetDatabase.GetAssetPath(dungeon.texture2D));
     }
 }
Esempio n. 4
0
        public static void LoadTextures(TextureProvider textureProvider, SpriteProvider spriteProvider, string folderLocation)
        {
            var texturePaths = FileServices.GetResourceFiles(folderLocation, ".png", ".jpg");

            // build textures and sprite
            foreach (var path in texturePaths)
            {
                var texture = FileServices.LoadTextureResource(path);
                var sprite  = FileServices.CreateSpriteFromTexture(texture);

                textureProvider.AddTexture(texture);
                spriteProvider.AddSprite(sprite);
            }
        }
Esempio n. 5
0
        public static void LoadTextures(TextureProvider textureProvider, SpriteProvider spriteProvider, string folderLocation)
        {
            var texturePaths = FileServices.GetResourceFiles(folderLocation, ".png", ".jpg");

            // build textures and sprite
            foreach (var path in texturePaths)
            {
                var texture = FileServices.LoadTextureResource(path);
                var sprite = FileServices.CreateSpriteFromTexture(texture);

                textureProvider.AddTexture(texture);
                spriteProvider.AddSprite(sprite);
            }
        }
Esempio n. 6
0
    public static Tile CreateTile(TileType tileType, Vector2 position, SpriteProvider spriteProvider, int id)
    {
        Tile       tile = null;
        GameObject go   = new GameObject("Tile");

        tile = go.AddComponent <Tile>();

        tile.id = id;
        tile.gameObject.transform.position = position;
        tile.tileType        = tileType;
        tile.renderer2D      = go.AddComponent <SpriteRenderer>();
        tile.collider        = go.AddComponent <BoxCollider2D>();
        tile.collider.center = new Vector2(0, 0);
        tile.SwitchTileState(tileType, spriteProvider);
        return(tile);
    }
Esempio n. 7
0
        /// <summary>
        /// Gets the transform information for all object types and calls the relevant apply method for each one.
        /// </summary>
        protected virtual void Animate(float deltaTime)
        {
            FrameData = DataProvider.GetFrameData(Time, deltaTime, factor, CurrentAnimation, NextAnimation);

            for (int i = 0; i < FrameData.SpriteData.Count; ++i)
            {
                SpriterObject info   = FrameData.SpriteData[i];
                TSprite       sprite = SpriteProvider.Get(info.FolderId, info.FileId);
                if (sprite != null)
                {
                    ApplySpriteTransform(sprite, info);
                }
            }

            for (int i = 0; i < FrameData.Sounds.Count; ++i)
            {
                SpriterSound info  = FrameData.Sounds[i];
                TSound       sound = SoundProvider.Get(info.FolderId, info.FileId);
                if (sound != null)
                {
                    PlaySound(sound, info);
                }
            }

            var pointE = FrameData.PointData.GetEnumerator();

            while (pointE.MoveNext())
            {
                var e = pointE.Current;
                ApplyPointTransform(e.Key, e.Value);
            }

            var boxE = FrameData.BoxData.GetEnumerator();

            while (boxE.MoveNext())
            {
                var e = boxE.Current;
                ApplyBoxTransform(Entity.ObjectInfos[e.Key], e.Value);
            }

            for (int i = 0; i < FrameData.Events.Count; ++i)
            {
                DispatchEvent(FrameData.Events[i]);
            }
        }
Esempio n. 8
0
    // Use this for initialization
    void Start()
    {
        dungeon        = GameObject.FindGameObjectWithTag("Dungeon").GetComponent <Dungeon>();
        spriteProvider = new SpriteProvider(AssetDatabase.GetAssetPath(dungeon.texture2D));
        stage          = BuildStage();

        GameObject go      = Instantiate(Resources.Load("Hero")) as GameObject;
        Hero       hero    = go.GetComponent <Hero>();
        IntVector2 heroPos = stage.findOpenTile();

        go.transform.position = heroPos;
        this.hero             = go.transform;
        hero.pos = heroPos;
        stage.actors.Add(heroPos, hero);
        stage.hero = hero;



        Display();
    }
Esempio n. 9
0
 public void ToItem(AGSSerializationContext context, AGSImageComponent container)
 {
     container.SpriteProvider = SpriteProvider.ToItem(context);
     container.Image          = Image.ToItem(context);
 }
Esempio n. 10
0
        public void Start()
        {
            /* RESOURCE LIST CREATION */
#if UNITY_EDITOR
            AssetDatabase.Refresh();
            FileServices.CreateResourcesList("Assets/Resources/resourceslist.txt");
#endif
            FileServices.LoadResourcesList("resourceslist");

            #region LOAD RESOURCES
            // logger and ioc
            _logger   = new Logger("info.log", false);
            _resolver = new IoCResolver(_logger);
            _resolver.RegisterItem(_logger);

            _config = new UserConfigurationManager(new UserConfigurationData
            {
                GameVolume  = 1f,
                MusicVolume = 1f
            });
            _resolver.RegisterItem(_config);

            // messager
            _messager = new Messager();
            _resolver.RegisterItem(_messager);

            // unity reference master
            _unity = GetComponent <UnityReferenceMaster>();
            _unity.DebugModeActive = false;
            _resolver.RegisterItem(_unity);

            // player
            var player = new UserAccountManager();
            _resolver.RegisterItem(player);

            // material provider
            var materialProvider = new MaterialProvider(_logger);
            MaterialLoader.LoadMaterial(materialProvider, "Materials");
            _resolver.RegisterItem(materialProvider);

            // texture provider
            var textureProvider = new TextureProvider(_logger);
            var spriteProvider  = new SpriteProvider(_logger);
            TextureLoader.LoadTextures(textureProvider, spriteProvider, "Textures");
            _resolver.RegisterItem(textureProvider);
            _resolver.RegisterItem(spriteProvider);

            // sound provider
            var soundProvider = new SoundProvider(_logger);
            SoundLoader.LoadSounds(_logger, soundProvider, "Sounds");
            _resolver.RegisterItem(soundProvider);

            // prefab provider
            var prefabProvider = new PrefabProvider(_logger);
            PrefabLoader.LoadPrefabs(prefabProvider);
            _resolver.RegisterItem(prefabProvider);

            // pooling
            var poolingObjectManager = new PoolingObjectManager(_logger, prefabProvider);
            _resolver.RegisterItem(poolingObjectManager);

            var soundPoolManager = new PoolingAudioPlayer(_logger, _config, _unity, prefabProvider.GetPrefab("audio_source_prefab"));
            _resolver.RegisterItem(soundPoolManager);

            _particles = new PoolingParticleManager(_resolver);
            _resolver.RegisterItem(_particles);

            // canvas provider
            var canvasProvider = new CanvasProvider(_logger);
            _unity.LoadCanvases(canvasProvider);
            _resolver.RegisterItem(canvasProvider);

            // data provider
            var gameDataProvider = new GameDataProvider(_logger);

            /* DATA GOES HERE */

            _resolver.RegisterItem(gameDataProvider);
            #endregion

            _uiManager = new UiManager();
            _resolver.RegisterItem(_uiManager);

            // lock the resolver (stop any new items being registered)
            _resolver.Lock();

            /* BEGIN STATE */
            _currentState = new MenuState(_resolver);
            _currentState.Initialize();

            /* SUBSCRIBE FOR GAME END */
            _onExit = _messager.Subscribe <ExitMessage>(OnExit);
        }
Esempio n. 11
0
        public void Start()
        {
            /* RESOURCE LIST CREATION */
            #if UNITY_EDITOR
            AssetDatabase.Refresh();
            FileServices.CreateResourcesList("Assets/Resources/resourceslist.txt");
            #endif
            FileServices.LoadResourcesList("resourceslist");

            #region LOAD RESOURCES
            // logger and ioc
            _logger = new Logger("info.log", false);
            _resolver = new IoCResolver(_logger);
            _resolver.RegisterItem(_logger);

            _config = new UserConfigurationManager(new UserConfigurationData
            {
                GameVolume = 1f,
                MusicVolume = 1f
            });
            _resolver.RegisterItem(_config);

            // messager
            _messager = new Messager();
            _resolver.RegisterItem(_messager);

            // unity reference master
            _unity = GetComponent<UnityReferenceMaster>();
            _unity.DebugModeActive = false;
            _resolver.RegisterItem(_unity);

            // player
            var player = new UserAccountManager();
            _resolver.RegisterItem(player);

            // material provider
            var materialProvider = new MaterialProvider(_logger);
            MaterialLoader.LoadMaterial(materialProvider,"Materials");
            _resolver.RegisterItem(materialProvider);

            // texture provider
            var textureProvider = new TextureProvider(_logger);
            var spriteProvider = new SpriteProvider(_logger);
            TextureLoader.LoadTextures(textureProvider, spriteProvider, "Textures");
            _resolver.RegisterItem(textureProvider);
            _resolver.RegisterItem(spriteProvider);

            // sound provider
            var soundProvider = new SoundProvider(_logger);
            SoundLoader.LoadSounds(_logger, soundProvider, "Sounds");
            _resolver.RegisterItem(soundProvider);

            // prefab provider
            var prefabProvider = new PrefabProvider(_logger);
            PrefabLoader.LoadPrefabs(prefabProvider);
            _resolver.RegisterItem(prefabProvider);

            // pooling
            var poolingObjectManager = new PoolingObjectManager(_logger, prefabProvider);
            _resolver.RegisterItem(poolingObjectManager);

            var soundPoolManager = new PoolingAudioPlayer(_logger, _config, _unity, prefabProvider.GetPrefab("audio_source_prefab"));
            _resolver.RegisterItem(soundPoolManager);

            _particles = new PoolingParticleManager(_resolver);
            _resolver.RegisterItem(_particles);

            // canvas provider
            var canvasProvider = new CanvasProvider(_logger);
            _unity.LoadCanvases(canvasProvider);
            _resolver.RegisterItem(canvasProvider);

            // data provider
            var gameDataProvider = new GameDataProvider(_logger);

            /* DATA GOES HERE */

            _resolver.RegisterItem(gameDataProvider);
            #endregion

            _uiManager = new UiManager();
            _resolver.RegisterItem(_uiManager);

            // lock the resolver (stop any new items being registered)
            _resolver.Lock();

            /* BEGIN STATE */
            _currentState = new MenuState(_resolver);
            _currentState.Initialize();

            /* SUBSCRIBE FOR GAME END */
            _onExit = _messager.Subscribe<ExitMessage>(OnExit);
        }