private void toolDeleteSkin_Click(object sender, EventArgs e)
 {
     if (ActiveSkin != null)
     {
         SkinManager.DeleteSkin(ActiveSkin);
     }
 }
Beispiel #2
0
        private void ClearSelectSkinModel()
        {
            if (m_LastSkinObject == null)
            {
                return;
            }

            for (int i = 0; i < m_LastSkinObject.Length; ++i)
            {
                SkinManager.DeleteSkin(ref m_LastSkinObject[i]);
            }

            m_LastSkinID     = null;
            m_LastSkinObject = null;
        }
Beispiel #3
0
    public static bool SetChangeHeroSkin(int nSkinId, int nHeroId, ref SkinInstance objLastSkin, ref int nLastSkinId, Transform transHeroFrame, HEROSKIN_RENDER_TYPE renderType = HEROSKIN_RENDER_TYPE.SCENE, PERSONMODELVIEWID viewType = PERSONMODELVIEWID.PERSONMODELVIEWID_GAMEWAITINGROOM)
    {
        SkinManager.DeleteSkin(ref objLastSkin);

        nLastSkinId = 0;
        objLastSkin = null;

        if (nSkinId < 0)
        {
            Debug.LogWarning("SetChangeHeroSkin---皮肤ID小于0");
            return(false);
        }


        SkinInstance si = SkinManager.GetSkin(nSkinId);

        if (si == null || !si.isValid)
        {
            Trace.LogWarning("切换皮肤失败,找不到对应的皮肤ID:" + nSkinId + ",请[--策划--]检查配置文件");
            return(false);
        }

        GameObject goc = si.SkinObj;

        // 动画
        if (viewType == PERSONMODELVIEWID.PERSONMODELVIEWID_SHOP)
        {
            si.MainAnimator.Play("loginr");
        }


        //effectNodeHero.PlayEffect(0, null, null);
        PersonModelTransFormInfo instance = PersonModelTransFormInfo.Instance;
        Vector3 pos      = instance.GetHeroModelPosition(viewType, nHeroId);
        Vector3 scale    = instance.GetHeroModelScale(viewType, nHeroId);
        Vector3 rotation = instance.GetHeroModelRotation(viewType, nHeroId);

        if (renderType == HEROSKIN_RENDER_TYPE.CAMERA)
        {
            GameUtil.SetLayer(LayerMask.NameToLayer(Config.LayerUI), goc, true);
            Vector2 size = new Vector2(1280f, 720f);

            UEffectMeshObject MeshObject = new UEffectMeshObject(si.SkinObj, pos, rotation, scale, _bIsSceneObj: true);
            UEffectMeshCamera MeshCamera = new UEffectMeshCamera();
            UEffectParamBase  param      = new UEffectMeshParam(size, new List <UEffectMeshObject>()
            {
                MeshObject
            }, MeshCamera, transHeroFrame);
            UEffectManager.Instance.CreateEffect(UEffectType.UET_EffectMesh, ref param);
        }
        else if (renderType == HEROSKIN_RENDER_TYPE.SCENE)
        {
            GameUtil.SetLayer(LayerMask.NameToLayer(Config.LayerHero), goc, true);
            goc.transform.parent           = transHeroFrame;
            goc.transform.localPosition    = pos;
            goc.transform.localEulerAngles = rotation;
            goc.transform.localScale       = scale;
        }
        nLastSkinId = nSkinId;
        objLastSkin = si;

        return(true);
    }