Example #1
0
    private GridObjectConfig GetObjectConfigByName(string configName)
    {
        GridObjectConfig gridObjectConfig = null;

        foreach (GridObjectConfig config in gridObjectConfigs)
        {
            if (config.Name == configName)
            {
                return(config);
            }
        }

        return(gridObjectConfig);
    }
Example #2
0
    public void Initialize(GridObjectConfig gridObjectConfig, Vector2 position, PropertyDict objectProperties)
    {
        Properties         = objectProperties;
        config             = gridObjectConfig;
        transform.position = position;
        Player player = GetComponent <Player>();

        if (player != null)
        {
            GameManager.main.SetupPlayer(player);
        }
        spriteRenderer = GetComponent <SpriteRenderer>();
        if (spriteRenderer != null)
        {
            spriteRenderer.sortingOrder = -((int)Math.Floor(transform.position.y) * 2);
        }
    }
Example #3
0
    private void SpawnObject(int x, int y, TmxObject tmxObject, Transform container)
    {
        if (tmxObject.Tile != null)
        {
            Sprite           sprite       = GetTileSprite(tmxObject.Tile.Gid);
            GridObjectConfig objectConfig = GetObjectConfigByName(tmxObject.Type);
            if (objectConfig == null || objectConfig.Prefab == null)
            {
                Debug.Log(string.Format("No object config found or no prefab set for {0}", tmxObject.Type));
                return;
            }
            GridObject newObject = Instantiate(objectConfig.Prefab, container);

            Vector2 tileSetSize    = tiledMapTilesetManager.GetTileSetSize(tmxObject.Tile.Gid);
            Vector2 objectPosition = new Vector2(
                x / tileSetSize.x,
                y / tileSetSize.y + 1 // unity position starts at bottom
                );

            newObject.Initialize(objectConfig, objectPosition, tmxObject.Properties);
            GridObjectManager.main.AddGridObject(newObject);
        }
    }