﻿using UnityEngine;
using System.Collections;

/// <summary>
/// Appearance class
/// </summary>
[System.Serializable]
public class Spawner
{
	/// <summary>
	/// Prefab
	/// </summary>
	[SerializeField]
	private GameObject _Prefab = null;

	/// <summary>
	/// Appearance position
	/// </summary>
	[SerializeField]
	private Transform _Transform = null;

	/// <summary>
	/// Instance of the object that appeared
	/// </summary>
	public GameObject instance
	{
		get;
		private set;
	}

	/// <summary>
	/// Make it appear
	/// </summary>
	public void Spawn()
	{
		// Prefab check
		if (_Prefab == null)
		{
			return;
		}

		if (_Transform != null)
		{
			// Instantiated at _Transform position
			instance = Object.Instantiate(_Prefab, _Transform.position, _Transform.rotation) as GameObject;
			instance.transform.SetParent(_Transform, true);
		}
		else
		{
			// Instantiate
			instance = Object.Instantiate(_Prefab);
		}
	}
}
