Esempio n. 1
0
        /// <summary>
        /// モーションセット
        /// </summary>
        /// <param name="_motionType"></param>
        public void SetMotion(EnumMotion _motionType)
        {
            motionType = _motionType;
            count      = 0;
            totalCount = 0;
            var isLastDash = HasFlag(EnumFlagMotion.Dash);

            //モーションごとのフラグ
            switch (_motionType)
            {
            case EnumMotion.Idle:
            case EnumMotion.Walk:
            case EnumMotion.Land:
                motionFlags = EnumFlagMotion.None;
                break;

            case EnumMotion.Dash:
            case EnumMotion.Slip:
                motionFlags = EnumFlagMotion.Dash;
                break;

            case EnumMotion.Jump:
                motionFlags = EnumFlagMotion.Air;
                if (isLastDash)
                {
                    motionFlags |= EnumFlagMotion.Dash;
                }
                break;

            case EnumMotion.Fall:
                motionFlags = EnumFlagMotion.Air;
                break;

            case EnumMotion.Damage:
            case EnumMotion.Down:
                motionFlags = EnumFlagMotion.Damage;
                break;

            case EnumMotion.Fly:
                motionFlags = EnumFlagMotion.Damage | EnumFlagMotion.Air;
                break;

            case EnumMotion.Dead:
                motionFlags = EnumFlagMotion.None;
                break;

            case EnumMotion.Action:
                motionFlags = EnumFlagMotion.None;
                if (isLastDash)
                {
                    motionFlags |= EnumFlagMotion.Dash;
                }
                break;

            default:
                Debug.Assert(false);
                break;
            }
        }
Esempio n. 2
0
 /// <summary>
 /// フラグON
 /// </summary>
 /// <param name="flag"></param>
 public void AddFlag(EnumFlagMotion flag)
 {
     motionFlags |= flag;
 }
Esempio n. 3
0
 /// <summary>
 /// フラグ保持チェック
 /// </summary>
 /// <param name="flag"></param>
 /// <returns></returns>
 public bool HasFlag(EnumFlagMotion flag)
 {
     //motionFlags.HasFlagはバーストできない
     return((motionFlags & flag) != 0);
 }
Esempio n. 4
0
 /// <summary>
 /// フラグOFF
 /// </summary>
 /// <param name="flag"></param>
 public void SubFlag(EnumFlagMotion flag)
 {
     motionFlags &= ~flag;
 }