/// <summary> /// 根据模型路径生成模型 /// </summary> public void init(string path, UITexture textue, float size) { if (gameObj != null) { Destroy(gameObj); } RenderTexture rd = initRenderTexture(textue.width, textue.height, 0); rd.depth = 16; MainCamera.targetTexture = rd; ResourcesManager.Instance.LoadAssetBundleTexture(path, mount3dModel.transform, (obj) => { gameObj = obj as GameObject; fbCtrl = gameObj.GetComponentInChildren <FuBenCardCtrl>(); if (isShowFail) { fbCtrl.anim.Play("failLoop"); } else { fbCtrl.anim.Play("stand"); } gameObj.name = MODELNAME; Transform temp = gameObj.transform; temp.localScale = new Vector3(1f, 1f, 1f); temp.localPosition = Vector3.zero; temp.localRotation = new Quaternion(0, size, 0, 1); textue.mainTexture = rd; }); MainCamera.aspect = 1; }
/** 更新3D模型 */ private void update3DModel() { if (angel3dModel.transform.childCount > 0) { Utils.RemoveAllChild(angel3dModel.transform); } if (angel == null) { angelModelShadows.SetActive(true); } else { angelModelShadows.SetActive(false); createMountsModel((obj) => { if (obj != null) { FuBenCardCtrl angelAnimCtrl = obj.transform.GetChild(0).GetComponent <FuBenCardCtrl> (); Utils.SetLayer(obj, UiManager.Instance.gameCamera.gameObject.layer); if (angelAnimCtrl != null) { angelAnimCtrl.playStand(); } } }); } }
/** 初始化坐骑 */ private void initMountsAniCtrl(FuBenCardCtrl mountsAnimCtrl) { Transform saddle = mountsAnimCtrl.transform.FindChild("saddle"); //把人插进马 //npc和主角场景里的结构稍微不同 if (GetType() == typeof(MissionNpcCtrl)) { roleRoot = animCtrl.transform; } else { animCtrl.transform.localRotation = Quaternion.identity; roleRoot = animCtrl.transform.parent; } roleRoot.parent = saddle; roleRoot.localPosition = Vector3.zero; roleRoot.transform.localRotation = Quaternion.identity; //roleRoot.localScale = Vector3.one; roleRoot.localScale = new Vector3(1.2f, 1.2f, 1.2f); activeAnimCtrl = mountsAnimCtrl; isCycling = true; setShadows(); }
/**把天使插进人 */ void updateAngel(FuBenCardCtrl cardCtrl) { if (PlayerPrefs.GetString(PlayerPrefsComm.ANGEL_USER_NAME + UserManager.Instance.self.uid) == "ok") { AngelSample angelsample = AngelSampleManager.Instance.getAngelSampleByVipLevel(UserManager.Instance.self.getVipLevel()); if (angelsample != null) { Transform angelPoint1 = cardCtrl.transform.FindChild("jingling"); if (angelPoint1 != null) { Transform angelPoint = angelPoint1.FindChild("jinglingPoint"); createangelModel(angelPoint, angelsample, (obj) => { if (obj != null) { FuBenCardCtrl angelAnimCtrl = obj.transform.GetChild(0).GetComponent <FuBenCardCtrl>(); Utils.SetLayer(obj, UiManager.Instance.gameCamera.gameObject.layer); if (angelAnimCtrl != null) { angelAnimCtrl.playStand(); } } }); } } } }
public override void initRoleAniCtrl(FuBenCardCtrl _animCtrl, Mounts mounts, int vipl) { this.mounts = mounts; base.initRoleAniCtrl(_animCtrl, mounts, vipl); Vector3 lookPos = new Vector3(MissionManager.instance.backGroundCamera.transform.position.x, transform.position.y, MissionManager.instance.backGroundCamera.transform.position.z); TargetRotation = Quaternion.LookRotation(lookPos - activeAnimCtrl.transform.position, Vector3.up); }
protected override void begin() { if (isAwakeformHide) { MaskWindow.UnlockUI(); return; } int count = ArenaFinalSampleManager.Instance.getSample(info.finalState).fightCount; for (int i = 0; i < count && i < buttons.Length; i++) { buttons [i].gameObject.SetActive(true); buttons [i].lblName.text = LanguageConfigManager.Instance.getLanguage("Arena22_" + (i + 1)); if (i < replayInfo.winUids.Count) { string uid = replayInfo.winUids [i]; if (uid == loser.uid) //ui弄反了,这里跟着反 { buttons [i].leftWin.SetActive(true); } else { buttons [i].rightWin.SetActive(true); } } } FuBenCardCtrl anim1 = addRole(role1, winer.style); FuBenCardCtrl anim2 = addRole(role2, loser.style); if (anim1 != null) { anim1.playHappy(); } if (anim2 != null) { anim2.playFail(); } MaskWindow.UnlockUI(); }
/// <summary> /// 初始化 /// </summary> public virtual void initRoleAniCtrl(FuBenCardCtrl _animCtrl, Mounts mounts, int vipLevel) { animCtrl = _animCtrl; activeAnimCtrl = animCtrl; if (mounts != null) { ResourcesManager.Instance.LoadAssetBundleTexture(mounts.getModelPath(), gameObject.transform, (obj) => { GameObject gameObj = obj as GameObject; if (mounts.getMountsSample().modelID == "miluDeer") { gameObj.transform.localScale = new Vector3(0.8f, 0.8f, 0.8f); } else { gameObj.transform.localScale = new Vector3(1, 1, 1); } mountsAnimCtrl = gameObj.transform.FindChild("body").gameObject.GetComponent <FuBenCardCtrl> (); initMountsAniCtrl(mountsAnimCtrl); }); } else { animCtrl.gameObject.transform.localScale = new Vector3(1.2f, 1.2f, 1.2f); isCycling = false; setShadows(); } string angelPath = AngelSampleManager.Instance.get3DObjPath(vipLevel);//这个函数没判断守护天使是否激活!!!! if (PlayerPrefs.GetString(PlayerPrefsComm.ANGEL_USER_NAME + UserManager.Instance.self.uid) != "ok") { angelPath = ""; } if (angelPath != "") { ResourcesManager.Instance.LoadAssetBundleTexture(angelPath, gameObject.transform, (obj) => { GameObject gameObj = obj as GameObject; angelAnimCtrl = gameObj.transform.FindChild("body").gameObject.GetComponent <FuBenCardCtrl>(); initAngeAniCtrl(angelAnimCtrl); }); } }
/** 更新3D模型 */ private void update3DModel() { if (mount3dModel.transform.childCount > 0) { Utils.RemoveAllChild(mount3dModel.transform); } if (mounts == null) { mountModelShadows.SetActive(true); } else { mountModelShadows.SetActive(false); createMountsModel((obj) => { if (obj != null) { FuBenCardCtrl mountsAnimCtrl = obj.transform.GetChild(0).GetComponent <FuBenCardCtrl> (); Utils.SetLayer(obj, UiManager.Instance.gameCamera.gameObject.layer); if (mountsAnimCtrl != null) { mountsAnimCtrl.playStand(); } if (mounts.isInUse()) { //有坐骑的情况 Transform saddle = mountsAnimCtrl.transform.FindChild("saddle"); Transform mountsRoot = mountsAnimCtrl.transform.parent; //把人插进马 FuBenCardCtrl cardCtrl = createRoleModel(saddle); if (cardCtrl != null) { cardCtrl.playMStand(); //把精灵插进人 updateAngel(cardCtrl); } } } }); } }
/**把精灵插入人 */ private void initAngeAniCtrl(FuBenCardCtrl angelAnimCtrl) { if (GetType() == typeof(MissionNpcCtrl)) { roleRoot = animCtrl.transform; } else { animCtrl.transform.localRotation = Quaternion.identity; roleRoot = animCtrl.transform.parent; } Transform angelPoint1 = roleRoot.transform.FindChild("jingling") == null?roleRoot.transform.GetChild(0).FindChild("jingling") : roleRoot.transform.FindChild("jingling"); if (angelPoint1 != null) { Transform angelPoint = angelPoint1.FindChild("jinglingPoint"); angelAnimCtrl.transform.parent = angelPoint; angelAnimCtrl.gameObject.transform.localScale = new Vector3(1, 1, 1); angelAnimCtrl.gameObject.transform.localPosition = Vector3.zero; angelAnimCtrl.gameObject.transform.localRotation = new Quaternion(0, 0, 0, 1); } }