/// <summary> /// 显示角色模型 /// </summary> public void ShowCharacter() { int tid = m_ServerListProxy.GetCurrentCharacterVO().Tid; if (m_CfgEternityProxy.GetPlayerByItemTId(tid) != null) { Model m_Model = m_CfgEternityProxy.GetItemModelByKey((uint)tid); Effect3DViewer m_npc3DViewer = m_CharacterModel.GetOrAddComponent <Effect3DViewer>(); if (m_npc3DViewer != null) { m_npc3DViewer.ClearModel(); m_npc3DViewer.LoadModel (AssetAddressKey.PRELOADUI_UI3D_ESCCHARACTERPANEL, m_Model.AssetName, AssetAddressKey.FX_UI_CHARACTER_SCANNING, GetNpcPos(m_Model), GetNpcRotation(m_Model), GetNpcScale(m_Model)); } } else { Debug.Log("tid错误" + tid); } }
/// <summary> /// 加载特效Prefab /// </summary> private void LoadEffect() { uint reloadID = m_ReloadID; string path = m_EffectPath; EffectArray = new EffectController[ModelArray.Length]; for (int i = 0; i < ModelArray.Length; i++) { GameObject model = ModelArray[i]; if (model) { EffectController effectController = EffectManager.GetInstance().CreateEffect(m_EffectPath, EffectManager.GetEffectGroupNameInSpace(true), (effect, usedata) => { Effect3DViewer viewer = (Effect3DViewer)usedata; if (viewer != null) { if (reloadID != viewer.m_ReloadID) { return; } if (viewer.m_LightEnvirontment == null) { return; } if (viewer.ModelArray == null) { return; } if (!path.Equals(viewer.m_EffectPath)) { return; } viewer.InstallModelAndEffect(); effect.PlayFX(); //加载完特效再显示 } } , this); if (ModelArray != null) { effectController.transform.SetParent(model.transform, false); effectController.SetCreateForMainPlayer(true); effectController.StopFX(true); //特效未加载完不显示 } else { effectController.StopFX(true); } EffectArray[i] = effectController; } else { EffectArray[i] = null; } } }
/// <summary> /// 部件卸载时 /// </summary> protected override void OnViewPartUnload() { OwnerView.State.OnModelInfoChanged -= OnModelInfoChanged; if (m_3DViewer) { m_3DViewer.ClearModel(); m_3DViewer = null; } }
/// <summary> /// 显示模型 /// </summary> public void ShowModel() { CfgEternityProxy m_CfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; Effect3DViewer m_Model3DViewer = m_Model.GetOrAddComponent <Effect3DViewer>(); UiModel m_UiModel = m_CfgEternityProxy.GetUiModel("Esc_1002"); if (m_Model3DViewer != null) { //m_Model3DViewer.AutoAdjustBestRotationAndDistance = true; m_Model3DViewer.ClearModel(); m_Model3DViewer.LoadModel (m_UiModel.Light, m_UiModel.ModelName, m_CfgEternityProxy.GetUiModelPos(m_UiModel), m_CfgEternityProxy.GetUiModelRotation(m_UiModel), m_CfgEternityProxy.GetUiModelScale(m_UiModel)); } }
protected override void OnViewPartLoaded() { Animator shipAnimator = GetTransform().GetComponent <Animator>(); shipAnimator.enabled = false; RawImage rawImage = FindComponent <RawImage>("Model"); rawImage.raycastTarget = false; m_ShipViewer = rawImage.GetComponent <Effect3DViewer>() ?? rawImage.gameObject.AddComponent <Effect3DViewer>(); m_ShipTransform = rawImage.GetComponent <RectTransform>(); UpdateModelViewer(); }
/// <summary> /// 显示模型 /// </summary> public void ShowModel() { CfgEternityProxy m_CfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; ShipProxy m_ShipProxy = GameFacade.Instance.RetrieveProxy(ProxyName.ShipProxy) as ShipProxy; IShip m_Ship = m_ShipProxy.GetAppointWarShip(); Effect3DViewer m_Model3DViewer = m_Model.GetOrAddComponent <Effect3DViewer>(); Model m_UiModel = m_CfgEternityProxy.GetModel((int)m_Ship.GetBaseConfig().Model); if (m_Model3DViewer != null) { m_Model3DViewer.AutoAdjustBestRotationAndDistance = true; m_Model3DViewer.ClearModel(); m_Model3DViewer.LoadModel (AssetAddressKey.PRELOADUI_UI3DSHIP, m_UiModel.AssetName); } }
public override void OnShow(object msg) { base.OnShow(msg); if (m_TargetImage) { m_TargetViewer = m_TargetImage.gameObject.GetComponent <Effect3DViewer>(); if (m_TargetViewer == null) { m_TargetViewer = m_TargetImage.gameObject.AddComponent <Effect3DViewer>(); } m_TargetViewer.AutoAdjustBestRotationAndDistance = true; m_TargetViewer.TextureSize = 256; } m_NearestTargetCounter = 0; StartUpdate(); }
/// <summary> /// 部件加载时 /// </summary> protected override void OnViewPartLoaded() { RawImage rawImage = FindComponent <RawImage>("Content/Viewer"); if (rawImage) { m_3DViewer = rawImage.GetComponent <Effect3DViewer>(); if (!m_3DViewer) { m_3DViewer = rawImage.gameObject.AddComponent <Effect3DViewer>(); m_3DViewer.AutoAdjustBestRotationAndDistance = false; } } OwnerView.State.OnModelInfoChanged -= OnModelInfoChanged; OwnerView.State.OnModelInfoChanged += OnModelInfoChanged; OnModelInfoChanged(); }
public override void OnHide(object msg) { m_TargetViewer = null; base.OnHide(msg); }