using UnityEngine;
using UnityEngine.UI;
using System.Collections;

// This is used for character creation only
public class ChooseCharStats : MonoBehaviour {

	public WeaponStats startingWeapon;
	public Text vitText;
	public Text strText;
	public Text defText;
	public Text agiText;
	public Text lucText;
	public Text unalocText;

	private string playerName;
	private int vitality;
	private int strength;
	private int defense;
	private int agility;
	private int luck;
	public static int unallocated;

	private PlayerStats stats;
	// Use this for initialization
	void Start () {
		vitality = 5;
		strength = 5;
		defense = 5;
		agility = 5;
		luck = 5;
		unallocated = 10;
		stats = GameObject.Find("CharacterDisplay").GetComponent<PlayerStats>();
		updateScore ();
		setStats ();
	}
		
	public void setStats(){
		stats.setName (playerName);
		stats.setVitality (vitality);
		stats.setStrength (strength);
		stats.setDefense (defense);
		stats.setAgility (agility);
		stats.setLuck (luck);
		stats.setWeapon (startingWeapon);
	}
		
	private void updateScore(){
		unalocText.text = "Unallocated: " + unallocated.ToString ();
		vitText.text = "Vitality: " + vitality.ToString ();
		strText.text = "Strength: " + strength.ToString ();
		defText.text = "Defense: " + defense.ToString ();
		agiText.text = "Agility: " + agility.ToString ();
		lucText.text = "Luck: " + luck.ToString ();
	}

	public void change_name(string newName){
		playerName = newName;
		playerName = "Testing"; // Delete me later
	}
	// Incrementing each field, used by + buttons
	public void inc_vit(){
		if (unallocated > 0) {
			unallocated--;
			vitality++;
			updateScore ();
			setStats ();
		}
	}
	public void inc_str(){
		if (unallocated > 0) {
			unallocated--;
			strength++;
			updateScore ();
			setStats ();
		}
	}
	public void inc_def(){
		if (unallocated > 0) {
			unallocated--;
			defense++;
			updateScore ();
			setStats ();
		}
	}
	public void inc_agi(){
		if (unallocated > 0) {
			unallocated--;
			agility++;
			updateScore ();
			setStats ();
		}
	}
	public void inc_luc(){
		if (unallocated > 0) {
			unallocated--;
			luck++;
			updateScore ();
			setStats ();
		}
	}

	//Decrementing each field, used by - buttons
	public void dec_str(){
		if (strength > 1) {
			strength--;
			unallocated++;
			updateScore ();
			setStats ();
		}
	}

	public void dec_vit(){
		if (vitality > 1) {
			vitality--;
			unallocated++;
			updateScore ();
			setStats ();
		}
	}

	public void dec_def(){
		if (defense > 1) {
			defense--;
			unallocated++;
			updateScore ();
			setStats ();
		}
	}

	public void dec_agi(){
		if (agility > 1) {
			agility--;
			unallocated++;
			updateScore ();
			setStats ();
		}
	}

	public void dec_luc(){
		if (luck > 1) {
			luck--;
			unallocated++;
			updateScore ();
			setStats ();
		}
	}
}