/************************************ private  methods *********************************/
    void Start()
    {
        _transform = transform;
        _gameObject = gameObject;
        _gmClass = GameObject.Find("Game Manager").GetComponent<C_GameManager>();
        _updateGUI = gameObject.GetComponent<S_UpdateGUI>();

        // initialize stats
        m_curStats.HP = maxStats.maxHP;
        m_curStats.maxHP = maxStats.maxHP;
        m_curStats.regHP = maxStats.regHP;
        m_curStats.attackPower = maxStats.attackPower;
        m_curStats.defensePercent = maxStats.defensePercent;
        m_curStats.attackRange = maxStats.attackRange;

        // for testing ...
        m_curStats.HP = 66;
    }
    /************************************ private  methods *********************************/
    void Start()
    {
        _transform = transform;
        _gameObject = gameObject;
        _gmClass = GameObject.Find("Game Manager").GetComponent<C_GameManager>();
        _updateGUI = gameObject.GetComponent<S_UpdateGUI>();

        // initialize stats
        m_curStats.level = _gmClass.heroLvStart;
        m_curStats.HP = maxStats.maxHP;
        m_curStats.maxHP = maxStats.maxHP;
        m_curStats.regHP = maxStats.regHP;
        m_curStats.MP = maxStats.maxMP;
        m_curStats.maxMP = maxStats.maxMP;
        m_curStats.regMP = maxStats.regMP;
        m_curStats.attackPower = maxStats.attackPower;
        m_curStats.defensePercent = maxStats.defensePercent;
        m_curStats.movementSpeed = maxStats.movementSpeed;
        m_curStats.energy = _gmClass.heroEnergy;
        m_curStats.attackRange = maxStats.attackRange;

        // for testing ...
        m_curStats.MP = 0;
        m_curStats.HP = 66;

        _updateGUI.Z_Start();
        _updateGUI.Z_UpdateAllStats(m_curStats);
    }