private void toolDeleteSkin_Click(object sender, EventArgs e) { if (ActiveSkin != null) { SkinManager.DeleteSkin(ActiveSkin); } }
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; }
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); }