﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using Tilar;
using Tilar.Math;

namespace Tilar.Lighting
{
    public class PointLight
    {
        internal int id;

        private string name;

        private Color color;
        private Vector3 position;
        private float radius;
        private bool enabled;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        public int ID
        {
            get { return id; }
        }
        public Color Color
        {
            get { return color; }
            set { color = value; }
        }
        public Vector3 Position
        {
            get { return position; }
            set { position = value; }
        }
        public float Radius
        {
            get { return radius; }
            set { radius = value; }
        }
        public bool Enabled
        {
            get { return enabled; }
            set { enabled = value; }
        }

        public PointLight()
        {
            this.Color = new Color(1.0f, 1.0f, 1.0f, 1.0f);
            this.Position = new Vector3(0, 0, 0);
            this.Radius = 10;
            this.Name = "";
            this.Enabled = true;
        }
        public PointLight(Vector3 position): this()
        {
            this.Position = position;
        }
        public PointLight(float x, float y, float z): this()
        {
            this.Position = new Vector3(x, y, z);
        }
    }
}
