private void OnAnimationLooped(object sender, AnimationLoopedEventArgs e) { if (m_hasTimeline) { m_playableDirector.set_time(0.0); m_playableDirector.Resume(); } }
private IEnumerator PlayDirectorCoroutine(PlayableDirector director, Action completeCallback = null) { if (null == director) { yield break; } m_currentPlayingDirector = director; director.set_time(0.0); director.Play(); PlayableGraph playableGraph = director.get_playableGraph(); while (playableGraph.IsValid() && !playableGraph.IsDone()) { yield return(null); if (null == director) { yield break; } playableGraph = director.get_playableGraph(); } completeCallback?.Invoke(); m_playCoroutine = null; m_currentPlayingDirector = null; }
private void PlayAnim(PlayableDirector director, Action onComplete = null) { //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) m_isAnimating = true; this.get_gameObject().SetActive(true); if (m_animCoroutine != null) { this.StopCoroutine(m_animCoroutine); } if (m_playingDirector != null) { PlayableGraph playableGraph = m_playingDirector.get_playableGraph(); if (playableGraph.IsValid()) { playableGraph = m_playingDirector.get_playableGraph(); if (!playableGraph.IsDone()) { m_playingDirector.Stop(); } } } m_playingDirector = director; director.set_time(0.0); director.Play(); m_animCoroutine = this.StartCoroutine(AnimCoroutine(director, onComplete)); }
private void StartAnimation(CharacterAnimationInfo animationInfo, Action onComplete = null, Action onCancel = null, bool restart = true, bool async = false) { //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) string animationName = animationInfo.animationName; string timelineKey = animationInfo.timelineKey; m_animator2D.get_transform().set_localRotation(animationInfo.flipX ? Quaternion.Euler(0f, -135f, 0f) : Quaternion.Euler(0f, 45f, 0f)); direction = animationInfo.direction; ITimelineAssetProvider characterData = m_characterData; if (characterData != null) { TimelineAsset timelineAsset; bool flag = characterData.TryGetTimelineAsset(timelineKey, out timelineAsset); if (flag && null != timelineAsset) { if (timelineAsset != m_playableDirector.get_playableAsset()) { m_playableDirector.Play(timelineAsset); } else { if (restart || !m_animator2D.get_animationName().Equals(animationName)) { m_playableDirector.set_time(0.0); } m_playableDirector.Resume(); } m_hasTimeline = true; } else { if (flag) { Log.Warning("Character named '" + m_characterData.get_name() + "' has a timeline setup for key '" + timelineKey + "' but the actual asset is null.", 323, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\HavreMap\\MapPathfindingActor.cs"); } m_playableDirector.set_time(0.0); m_playableDirector.Pause(); m_hasTimeline = false; } } m_animationCallback.Setup(animationName, restart, onComplete, onCancel); m_animator2D.SetAnimation(animationName, animationInfo.loops, async, restart); m_animationParameters = animationInfo.parameters; }
public void InitEnterAnimFirstFrame() { if (!m_isInitialized) { Log.Error("Camera must be initialized before.", 116, "C:\\BuildAgents\\AgentB\\work\\cub_client_win64_develop\\client\\DofusCube.Unity\\Assets\\Core\\Code\\HavreMap\\MapCameraHandler.cs"); } m_allowInteraction = false; m_playableDirector.set_time(0.0); m_playableDirector.Evaluate(); }
public static void ComputeClipWorldSpaceOffset(PlayableDirector director, TimelineClip clip, out Vector3 clipPositionOffset, out Quaternion clipRotationOffset) { GameObject sceneGameObject = TimelineUtility.GetSceneGameObject(director, clip.parentTrack); double time = director.get_time(); TrackAsset parentTrack = clip.parentTrack; TimelineClip[] clips = parentTrack.clips; director.Stop(); for (int i = 0; i < clips.Length; i++) { parentTrack.RemoveClip(clips[i]); } parentTrack.AddClip(clip); double start = clip.start; double blendInDuration = clip.blendInDuration; clip.blendInDuration = 0.0; clip.start = 1.0; director.Play(); director.set_time(0.0); director.Evaluate(); clipPositionOffset = sceneGameObject.get_transform().get_position(); clipRotationOffset = sceneGameObject.get_transform().get_rotation(); AnimationPlayableAsset animationPlayableAsset = clip.asset as AnimationPlayableAsset; if (!(animationPlayableAsset == null)) { clipPositionOffset += clipRotationOffset * animationPlayableAsset.position; clipRotationOffset *= animationPlayableAsset.rotation; director.Stop(); clip.start = start; clip.blendInDuration = blendInDuration; parentTrack.RemoveClip(clip); for (int j = 0; j < clips.Length; j++) { parentTrack.AddClip(clips[j]); } director.Play(); director.set_time(time); director.Evaluate(); } }
public static void MatchPrevious(TimelineClip currentClip, Transform matchPoint, PlayableDirector director) { MatchTargetFields matchFields = TimelineAnimationUtilities.GetMatchFields(currentClip); if (matchFields != MatchTargetFieldConstants.None && !(matchPoint == null)) { double time = director.get_time(); TimelineClip previousClip = TimelineAnimationUtilities.GetPreviousClip(currentClip); if (previousClip != null && currentClip != previousClip) { AnimationTrack animationTrack = currentClip.parentTrack as AnimationTrack; double blendInDuration = currentClip.blendInDuration; currentClip.blendInDuration = 0.0; double blendOutDuration = previousClip.blendOutDuration; previousClip.blendOutDuration = 0.0; director.Stop(); animationTrack.RemoveClip(currentClip); director.Play(); double num = (currentClip.start <= previousClip.end) ? currentClip.start : previousClip.end; director.set_time(num - 1E-05); director.Evaluate(); Vector3 position = matchPoint.get_position(); Quaternion rotation = matchPoint.get_rotation(); director.Stop(); animationTrack.AddClip(currentClip); animationTrack.RemoveClip(previousClip); director.Play(); director.set_time(currentClip.start + 1E-05); director.Evaluate(); AnimationPlayableAsset asset = currentClip.asset as AnimationPlayableAsset; TimelineAnimationUtilities.RigidTransform result = TimelineAnimationUtilities.UpdateClipOffsets(asset, animationTrack, matchPoint, position, rotation); TimelineAnimationUtilities.WriteMatchFields(asset, result, matchFields); currentClip.blendInDuration = blendInDuration; previousClip.blendOutDuration = blendOutDuration; director.Stop(); animationTrack.AddClip(previousClip); director.Play(); director.set_time(time); director.Evaluate(); } } }
public void ShowStepMenuAnim(bool value) { if (value) { m_showStepMenu.set_time(0.0); m_showStepMenu.Play(); } else { m_hideStepMenu.set_time(0.0); m_hideStepMenu.Play(); } }
public static void ComputeTrackOffsets(PlayableDirector director, TimelineClip clip, out Vector3 parentPositionOffset, out Quaternion parentRotationOffset, out Vector3 positionOffset, out Quaternion rotationOffset) { GameObject sceneGameObject = TimelineUtility.GetSceneGameObject(director, clip.parentTrack); double time = director.get_time(); TrackAsset parentTrack = clip.parentTrack; TimelineClip[] clips = parentTrack.clips; director.Stop(); for (int i = 0; i < clips.Length; i++) { parentTrack.RemoveClip(clips[i]); } parentTrack.AddClip(clip); double start = clip.start; double blendInDuration = clip.blendInDuration; clip.blendInDuration = 0.0; clip.start = 1.0; director.Play(); director.set_time(1.0); director.Evaluate(); positionOffset = sceneGameObject.get_transform().get_position(); rotationOffset = sceneGameObject.get_transform().get_rotation(); director.set_time(0.0); director.Evaluate(); parentPositionOffset = sceneGameObject.get_transform().get_position(); parentRotationOffset = sceneGameObject.get_transform().get_rotation(); director.Stop(); clip.start = start; clip.blendInDuration = blendInDuration; parentTrack.RemoveClip(clip); for (int j = 0; j < clips.Length; j++) { parentTrack.AddClip(clips[j]); } director.Play(); director.set_time(time); director.Evaluate(); }
public void ShowPlayerAvatarAnim(bool value) { m_playerAvatar.get_gameObject().SetActive(true); if (value) { m_showPlayerAvatar.set_time(0.0); m_showPlayerAvatar.Play(); } else { m_hidePlayerAvatar.set_time(0.0); m_hidePlayerAvatar.Play(); } }
public static IEnumerator PlayDirector(PlayableDirector director) { director.set_time(0.0); director.Play(); while (true) { PlayableGraph playableGraph = director.get_playableGraph(); if (playableGraph.IsValid()) { playableGraph = director.get_playableGraph(); if (!playableGraph.IsDone()) { yield return(null); continue; } break; } break; } }
public void Open() { m_open.set_time(0.0); m_open.Play(); }
public void PlayVersusAnim() { m_gotoVersus.set_time(0.0); m_gotoVersus.Play(); }