/// <summary>
        /// 指定したモーションの再生を開始する。
        /// </summary>
        /// <param name="motion">再生するモーション</param>
        /// <param name="priority">モーションの優先度。高いほど優先される。</param>
        /// <param name="loop_enabled">trueのときループが有効なモーションではループを有効にする</param>
        /// <returns>再生が開始された場合はCubismMotionQueueEntryを返す</returns>
        public CubismMotionQueueEntry StartMotion(ICubismMotion motion, bool loop_enabled = false)
        {
            var queue_entry = new CubismMotionQueueEntry();

            queue_entry.Motion      = motion;
            queue_entry.LoopEnabled = motion.CanLoop && loop_enabled;
            MotionQueue.Add(queue_entry);
            return(queue_entry);
        }
Esempio n. 2
0
        /// <summary>
        /// モーションの再生を開始する。
        /// </summary>
        /// <param name="type">モーションの種類</param>
        /// <param name="motion">モーション</param>
        /// <param name="loop_enabled">ループが使えるなら有効化する。</param>
        /// <returns></returns>
        public CubismMotionQueueEntry StartMotion(MotionType type, ICubismMotion motion, bool loop_enabled = false)
        {
            switch (type)
            {
            case MotionType.Base:
                return(BaseMotionManager.StartMotion(motion, loop_enabled));

            case MotionType.Expression:
                return(ExpressionMotionManager.StartMotion(motion, loop_enabled));

            case MotionType.Effect:
                return(EffectMotionManager.StartMotion(motion, loop_enabled));

            default:
                return(null);
            }
        }