private void CameraRidingHandler(bool enabled, CameraStateParam obj) { if (enabled) { RidingStateParam param = obj as RidingStateParam; EnableRidingMode(param.distance, param.angleRange); } else { DisableRidingMode(); } }
public void ApplyAnimation() { if (!m_pFSM.animator) { return; } if (!m_pFSM.SkinConfig) { return; } DeleteFloatingAssets(); if (currWing_State.szPath != "" && currWing_State.szPath != "0" && !wingGO && m_pFSM.SkinConfig && m_pFSM.SkinConfig.chibangguadian) { m_bWing = true; WingAssets = AssetBundleManager.GetAssets(AssetType.Asset_Prefab, currWing_State.szPath); if (WingAssets != null) { wingGO = WingAssets.InstanceMainRes(); wingGO.transform.SetParent(m_pFSM.SkinConfig.chibangguadian, false); wingAnimator = wingGO.GetComponent <Animator>(); //绑翅膀音效 BindSound m_bindAnimSound; m_bindAnimSound = wingGO.GetComponent <BindSound>(); if (m_bindAnimSound == null) { m_bindAnimSound = wingGO.AddComponent <BindSound>(); if (m_bindAnimSound != null) { m_bindAnimSound.bindSoundEvent += SoundManager.CreateSound; } } } } if (m_pFSM.animatorCtrl.ana) { m_pFSM.animatorCtrl.ana.SetBool("isLanding", false); m_pFSM.animatorCtrl.ana.SetBool("floating", true); m_pFSM.animatorCtrl.ana.SetBool("flyDown", false); } if (wingAnimator) { wingAnimator.SetBool("isLanding", false); wingAnimator.SetBool("floating", true); wingAnimator.SetBool("flyDown", false); } if (m_pFSM.isHero && SoldierCamera.MainInstance()) { Vector2 cameraAngle = Vector2.zero; float cameraDistance = 0.0f; if (!m_bWing) { cameraAngle = new Vector2(currWing_State.fMinCameraAngle, currWing_State.fMaxCameraAngle); cameraDistance = currWing_State.fCameraDistance; RidingStateParam camParam = new RidingStateParam(cameraDistance, cameraAngle); SoldierCamera.MainInstance <SoldierCamera>().EnableMode(CameraMode.RidingControl, true, camParam); } else { SoldierCamera.MainInstance <SoldierCamera>().EnableMode(CameraMode.FloatingControl, true); } } else { if (currWing_State.nType == WING_STATE_TYPE.WING_STATE_NORMAL_FLIGHT) { m_pFSM.animatorCtrl.ana.SetTrigger("skipFlyStart"); } else if (currWing_State.nType == WING_STATE_TYPE.WING_STATE_ACCELERATION) { m_pFSM.animatorCtrl.ana.SetTrigger("skipFlyStart"); EnableAccelerate(true, currWing_State.fMaxSpeed); } } }