public bool AddWeaponToHero( HeroData hero )
	{
		m_weapon = m_rightHand.gameObject.AddComponent<Cha_Weapon>();	
		m_weapon.dummy_spine = m_back;
		m_weapon.sub_hand = m_leftHand;

		EquipmentItem wp = hero.equipmentList.getItemByType((int)GlobalDef.EquipmentTpye.E_WEAPON);
		if (null == wp) {
			Debug.LogError("weapon is error name=>" + wp.resname );
			return false;
		}
		int weaponType = hero.heroType;
		string weaponName = wp.resname;
		m_weapon.Init (weaponName, weaponType);

		if(GetComponentInParent<Unit>().m_unitType == GlobalDef.UnitType.UNIT_TYPE_ENEMY_HERO)
		{
			int a;
			a = 0;
		}
		return true;
	}
    //< 设置显示当前英雄模型
    public void SetHero()
    {
        string heroName = GetCurCharData().resname;
        int weaponType = GetCurCharData().heroType;

        m_bip01 = m_transform.Find(heroName).Find("Bip01");
        m_animation = m_transform.Find(heroName).GetComponent<Animation>();

        //get model height
        Mesh mesh = m_transform.Find(heroName).Find("mod").GetComponent<SkinnedMeshRenderer>().sharedMesh;
        Vector3 size = mesh.bounds.size;
        Vector3 scale = m_transform.Find(heroName).lossyScale;
        Vector3 realsize = new Vector3(size.x * scale.x, size.y * scale.y, size.z * scale.z);
        m_height = realsize.z;

        //sharder set
        m_transform.Find(heroName).Find("mod").GetComponent<SkinnedMeshRenderer>().material.shader = Shader.Find("Mobile/VertexLit (Only Directional Lights)");

        //get weapon script
        m_weaponScript = m_scriptHero.m_rightHand.GetComponent<Cha_Weapon>();

        //< shadow follow me
        m_shadow.GetComponent<Shadow>().Pickparent(m_bip01, 1);
        m_shadow.gameObject.SetActive(true);
        m_weaponScript.ReturnBlade();

        SetAnimation(weaponType);

        bool bHaveForce = true;

        //< pvp场景
        if (LevelData.levelType == 8)
        {
            bHaveForce = false;
        }
        switch (weaponType)
        {
            case 1:
                if (bHaveForce)
                    m_atkColliderCenter = new Vector3(0, 0.05f, 0.17f);
                else
                    m_atkColliderCenter = new Vector3(0, 0.05f, 0.10f);

                m_atkColliderRadius = 0.13f;
                m_efSwing1.localScale = new Vector3(1.6f, 2.0f, 2.0f);
                m_weaponTypeFactor = 0;
                m_animation["run"].speed = 0.6f;
                break;

            case 2:
                if (bHaveForce)
                    m_atkColliderCenter = new Vector3(0, 0.05f, 0.16f);
                else
                    m_atkColliderCenter = new Vector3(0, 0.05f, 0.09f);

                m_atkColliderRadius = 0.13f;
                m_weaponTypeFactor = 10;
                m_efSwing1.localScale = new Vector3(1.3f, 1.7f, 1.7f);
                m_animation["run"].speed = 0.6f;
                break;

            case 3:
                if (bHaveForce)
                    m_atkColliderCenter = new Vector3(0, 0.05f, 0.2f);
                else
                    m_atkColliderCenter = new Vector3(0, 0.05f, 0.09f);
                m_atkColliderRadius = 0.15f;
                m_weaponTypeFactor = 30;
                m_efSwing1.localScale = new Vector3(1.6f, 2.0f, 2.0f);
                m_animation["run"].speed = 0.45f;
                break;

            case 4:
                if (bHaveForce)
                    m_atkColliderCenter = new Vector3(0, 0.05f, 0.2f);
                else
                    m_atkColliderCenter = new Vector3(0, 0.05f, 0.09f);
                m_atkColliderRadius = 0.15f;
                m_weaponTypeFactor = 40;
                m_efSwing1.localScale = new Vector3(1.6f, 2.0f, 2.0f);
                m_animation["run"].speed = 0.6f;
                break;

            case 5: //gong
                break;

            case 6: //法师
                if (bHaveForce)
                    m_atkColliderCenter = new Vector3(0, 0.05f, 0.21f);
                else
                    m_atkColliderCenter = new Vector3(0, 0.05f, 0.25f);
                m_atkColliderRadius = 0.27f;
                m_weaponTypeFactor = 60;
                m_animation["run"].speed = 0.6f;
                m_efSwing1.localScale = new Vector3(1.6f, 2.0f, 2.0f);
                break;
        }

        //< get atk collider cender 
        m_atkCollider.center = m_atkColliderCenter;
        m_atkCollider.radius = m_atkColliderRadius;

        m_curAttackStat = m_weaponTypeFactor;
        initAnimation();
        SetHeroSound();

        m_animation.Play("idle");
    }