#pragma once
#include "../Basic.h"
#include <Resource/DataArray.h>
#include <string>
#include "Animation.h"


namespace assets
{
	class Wildling
	{
	public:
		Wildling() {}
		void load(gge::resource::DataArray &dataArray);
		static Wildling &loadNew(gge::resource::DataArray &dataArray)
		{
			Wildling &w = *new Wildling;
			w.load(dataArray);
			return w;
		}

		std::string ID;
		LevelInfo XPReward;
		LevelInfo HP;
		LevelInfo armor;
		LevelInfo damage;
		LevelInfo attackCooldown;
		LevelInfo blockCooldown;
		LevelInfo attack;
		LevelInfo dodgeChance;
		LevelInfo parryChance;
		LevelInfo blockChance;
		LevelInfo range;
		LevelInfo overshootRange;
		float     arrowSpeed;
		LevelInfo movementSpeed;

		AnimationProvider *animation;

		static std::map<std::string, Wildling*> list;
	};
}