void OnEnable()
 {
     _target = target as UIHeroPreviewDataSetter;
 }
Esempio n. 2
0
    void setCharacter(GamePlayerData gpd = null)
    {
        if (sampleHero != null)
        {
            GameManager.me.characterManager.cleanMonster(sampleHero);
            sampleHero = null;
        }


        sampleHero = (Player)GameManager.me.characterManager.getMonster(true, true, data.partsData.character, false);


        if (gpd != null)
        {
            gpd.copyTo(_gpd);
        }
        else if (GameDataManager.instance.heroes.ContainsKey(data.partsData.character))
        {
            GameDataManager.instance.heroes[data.partsData.character].copyTo(_gpd);
        }
        else
        {
            GameDataManager.instance.defaultHeroData[data.partsData.character].copyTo(_gpd);
        }


        if (data.partsData.type == HeroParts.WEAPON)
        {
            _gpd.partsWeapon = new HeroPartsItem(data.partsData.character, data.serverId);
            //			popupCharacterCamera.fieldOfView = 20.0f;
            //			popupCharacterCamera.transform.localPosition = new Vector3(-176,-70,-575);
            _q.eulerAngles = new Vector3(0, 1.78f, 0);
            //			popupCharacterCamera.transform.localRotation = _q;
            //			popupCharacterCamera.nearClipPlane = 273.4f;
            //			popupCharacterCamera.farClipPlane = 583.61f;
        }
        else if (data.partsData.type == HeroParts.HEAD)
        {
            _gpd.partsHead = new HeroPartsItem(data.partsData.character, data.serverId);
            //			popupCharacterCamera.fieldOfView = 16.0f;
            //			popupCharacterCamera.transform.localPosition = new Vector3(-176,-27,-576);
            _q.eulerAngles = new Vector3(3, 1.78f, 0);
            //			popupCharacterCamera.transform.localRotation = _q;
            //			popupCharacterCamera.nearClipPlane = 273.4f;
            //			popupCharacterCamera.farClipPlane = 583.61f;
        }
        else if (data.partsData.type == HeroParts.BODY)
        {
            _gpd.partsBody = new HeroPartsItem(data.partsData.character, data.serverId);
            //			popupCharacterCamera.fieldOfView = 21.8f;
            //			popupCharacterCamera.transform.localPosition = new Vector3(-181.8379f,-115.0146f,-476.4911f);
            _q.eulerAngles = new Vector3(-9.700012f, 2.8f, 1.5f);
            //			popupCharacterCamera.transform.localRotation = _q;
            //			popupCharacterCamera.nearClipPlane = 100.0f;
            //			popupCharacterCamera.farClipPlane = 583.61f;
            //-175  -15  572
        }
        else if (data.partsData.type == HeroParts.VEHICLE)
        {
            _gpd.partsVehicle = new HeroPartsItem(data.partsData.character, data.serverId);
            //			popupCharacterCamera.fieldOfView = 25.8f;
            //			popupCharacterCamera.transform.localPosition = new Vector3(-176,-20,-573);
            _q.eulerAngles = new Vector3(6.31f, 1.78f, 0);
            //			popupCharacterCamera.transform.localRotation = _q;
            //			popupCharacterCamera.nearClipPlane = 273.4f;
            //			popupCharacterCamera.farClipPlane = 583.61f;
        }


        sampleHero.init(_gpd, true, false);

        sampleHero.container.SetActive(true);

        if (data.partsData.type == HeroParts.WEAPON)
        {
            int len = sampleHero.smrs.Length;
            for (int i = 0; i < len; ++i)
            {
                sampleHero.smrs[i].enabled = (sampleHero.smrs[i].name == data.partsData.resource || sampleHero.smrs[i].name == (data.partsData.resource + "_arrow"));
            }
        }
        else if (data.partsData.type == HeroParts.VEHICLE)
        {
            sampleHero.pet = (Pet)GameManager.me.characterManager.getMonster(true, true, data.partsData.resource.ToUpper(), false);
            sampleHero.pet.init(sampleHero);
            sampleHero.setVisible(false, false);
            sampleHero.pet.isEnabled = true;
            sampleHero.ani.Stop();
        }
        else if (data.partsData.type == HeroParts.BODY || data.partsData.type == HeroParts.HEAD)
        {
            int len = sampleHero.smrs.Length;
            for (int i = 0; i < len; ++i)
            {
                sampleHero.smrs[i].enabled = (sampleHero.smrs[i].name.Contains("weapon") == false);
            }
        }


        _v.x = 0; _v.y = 0; _v.z = 0;

        sampleHero.setParent(sampleContainer);
        sampleHero.cTransform.localPosition = _v;

        _q.eulerAngles = _v;
        sampleContainer.transform.localRotation = _q;

        _q.eulerAngles = _v;
        sampleHero.cTransform.localRotation = _q;

        sampleHero.tf.localPosition = _v;

        _q.eulerAngles = _v;
        sampleHero.tf.localRotation = _q;


//		if(data.partsData.type == HeroParts.WEAPON)
//		{
//			sampleHero.animation.Play("weapon");
//		}
//		else
//		{
//			sampleHero.animation.Play("idle");
//		}


        if (data.partsData.type == HeroParts.WEAPON)
        {
            sampleHero.animation.Play("weapon");

            if (data.partsData.setPreviewPosition(sampleHero) == false)
            {
                if (data.partsData.character == "LEO")
                {
                    _v   = sampleHero.cTransform.localPosition;
                    _v.y = -13f;
                    sampleHero.cTransform.localPosition = _v;
                }

                sampleHero.cTransform.localScale = new Vector3(1.3f, 1.3f, 1.3f);
            }
        }
        else if (data.partsData.type == HeroParts.HEAD)
        {
            _v   = sampleHero.cTransform.localPosition;
            _v.x = 0.0f;
            _v.y = -50f;
            _v.z = 0.0f;
            sampleHero.cTransform.localPosition = _v;

            sampleHero.animation.Play("idle");
            sampleHero.cTransform.localScale = new Vector3(1.5f, 1.5f, 1.5f);
        }
        else
        {
            sampleHero.animation.Play("idle");
            sampleHero.cTransform.localScale = Vector3.one;
        }



        _v = sampleHero.cTransform.position;
        sampleHero.shadow.transform.position = _v;



                #if UNITY_EDITOR
        if (DebugManager.instance.useDebug)
        {
            UIHeroPreviewDataSetter s = sampleHero.cTransform.gameObject.GetComponent <UIHeroPreviewDataSetter>();
            if (s == null)
            {
                sampleHero.cTransform.gameObject.AddComponent <UIHeroPreviewDataSetter>();
            }
        }
                #endif
    }