// UIManagerで呼ばれています。 static public void UpdateAnim() { for (int i = 0; i < playAnimationList.Count; i++) { UIAnimationData cData = playAnimationList[i]; if (cData.animHandel == ERROR_CODE) { continue; } cData.isPlaying = cData.animation.isPlaying; playAnimationList[i] = cData; if (cData.isPause) { continue; } if (cData.animationState == null) { continue; } cData.isActive = cData.isPlaying; cData.animSpeed = cData.animationState.normalizedSpeed; cData.animTime = cData.animationState.normalizedTime; playAnimationList[i] = cData; } }
// 一時停止しているアニメーションを再再生させる。 static public void Resume(int nHandel) { for (int i = 0; i < playAnimationList.Count; i++) { UIAnimationData cData = playAnimationList[i]; if (cData.animHandel == ERROR_CODE) { continue; } if (!cData.isActive) { continue; } if (!cData.isPause) { continue; } if (cData.animHandel == nHandel) { cData.isPause = false; cData.animationState = cData.animation.PlayQueued(cData.animPlayingName); cData.animationState.normalizedTime = cData.animTime; cData.animationState.normalizedSpeed = cData.animSpeed; playAnimationList[i] = cData; return; } } }
// アニメーションが停止したかどうか static public bool IsStop(int nHandel) { for (int i = 0; i < playAnimationList.Count; i++) { UIAnimationData cData = playAnimationList[i]; if (cData.animHandel == ERROR_CODE) { continue; } if (cData.animPlayingName == null) { continue; } if (cData.animHandel == nHandel) { if (!cData.isActive) { continue; } if (cData.isPause) { continue; } return(!cData.isPlaying); } } return(false); }
// アニメーションが停止させる。 static public void Stop(ref int nHandel) { for (int i = 0; i < playAnimationList.Count; i++) { UIAnimationData cData = playAnimationList[i]; if (cData.animHandel == ERROR_CODE) { continue; } if (cData.animHandel == nHandel) { cData.isActive = false; cData.isPause = false; cData.animation.Stop(); cData.animationState = null; nHandel = ERROR_CODE; playAnimationList.RemoveAt(i); return; } } }
/// <summary> Loads the preset, with the passed category name and preset name, settings </summary> /// <param name="presetCategory"> Preset category name </param> /// <param name="presetName"> Preset name (found in the presetCategory) </param> public void LoadPreset(string presetCategory, string presetName) { UIAnimationData data = UIAnimations.Instance.Get(Animation.AnimationType, presetCategory, presetName); if (data == null) { return; } Animation = data.Animation.Copy(); }
// アニメーションを登録する。 static public void Register(UIBase cUIBase, GameObject cRoot) { Animation[] animations = cRoot.GetComponentsInChildren <Animation>(); for (int i = 0; i < animations.Length; i++) { UIAnimationData cAddData = new UIAnimationData(); cAddData.trans = animations[i].transform; cAddData.animation = animations[i]; cAddData.uiBase = cUIBase; cAddData.animHandel = ERROR_CODE; animationList.Add(cAddData); } }
// 再生する。 // 自分自身のアニメーションを再生したい場合は、こちらを使用してください static public int Play(UIBase cUIBase, string strAnimName) { for (int i = 0; i < animationList.Count; i++) { UIAnimationData cData = animationList[i]; if (cData.uiBase == cUIBase) { cData.animPlayingName = strAnimName; cData.animationState = cData.animation.PlayQueued(cData.animPlayingName); cData.isPause = false; cData.animHandel = m_nAnimationPlayHandel++; playAnimationList.Add(cData); return(cData.animHandel); } } return(-1); }
// アニメーションを一時停止状態にする。 static public void Pause(int nHandel) { for (int i = 0; i < playAnimationList.Count; i++) { UIAnimationData cData = playAnimationList[i]; if (cData.animHandel == ERROR_CODE) { continue; } if (!cData.isActive) { continue; } if (!cData.isPlaying) { continue; } if (cData.isPause) { continue; } if (cData.animHandel == nHandel) { cData.isPause = true; cData.isPlaying = false; cData.animTime = cData.animationState.normalizedTime; cData.animSpeed = cData.animationState.normalizedSpeed; cData.animation.Stop(); playAnimationList[i] = cData; } } }
/// <summary> Loads the preset, with the given category name and preset name, settings </summary> /// <param name="presetCategory"> Preset category name </param> /// <param name="presetName"> Preset name (found in the presetCategory) </param> public void LoadPreset(string presetCategory, string presetName) { if (ButtonAnimationType == ButtonAnimationType.Animator) { return; } UIAnimationData animationData = UIAnimations.Instance.Get(GetAnimationType(ButtonAnimationType), presetCategory, presetName); if (animationData == null) { return; } // ReSharper disable once SwitchStatementMissingSomeCases switch (ButtonAnimationType) { case ButtonAnimationType.Punch: PunchAnimation = animationData.Animation.Copy(); break; case ButtonAnimationType.State: StateAnimation = animationData.Animation.Copy(); break; } }