using UnityEngine;
using System.Collections;

namespace mgaia.tk2d
{
    /// <summary>
    /// Behaviour utilizado para ajustar o posicionamento de um tilemap quando ele está dentro de uma câmera que se move com o sistema de layers da m.gaia
    /// </summary>
    /// <owner>Victor</owner>
    [RequireComponent(typeof(tk2dTileMap))]
    public class AdjustableTileMapBehaviour : MonoBehaviour
    {
        /// <summary>
        /// Altere a posição do tilemap manualmente por aqui
        /// </summary>
        public Vector3 Position
        {
            get { return transform.position; }
            set
            {
                transform.position = value;

                RefreshRenderDataObjectPosition();
            }
        }

        private void OnLayerAdd()
        {
            RefreshRenderDataObjectPosition();
        }

        /// <summary>
        /// Reposiciona o tilemap onde ele deveria estar
        /// </summary>
        public void RefreshRenderDataObjectPosition()
        {
            GameObject renderDataObject = GetComponent<tk2dTileMap>().renderData;

            if (renderDataObject != null)
            {
                renderDataObject.transform.position = Position;
            }
        }
    }
}