public PlayerGroundMotionFilter(int[] values, EnumDoneStateFlag stateType)
     : base(values)
 {
     this.StateType  = stateType;
     this.SeekType   = EnumMotionSeekType.OwnPlayer;
     this.GroundType = EnumGroundType.All;
 }
예제 #2
0
 public PlayerIdMotionFilter(int[] values, EnumDoneStateFlag stateType)
     : base(values, stateType)
 {
 }
예제 #3
0
        public void SetDoneState(IState doneState, EnumDoneStateFlag doneStateFlag)
        {
            this.DoneState     = doneState;
            this.DoneStateFlag = doneStateFlag;
            if (doneStateFlag == EnumDoneStateFlag.None)
            {
                return;
            }
            bool succFlag = doneStateFlag == EnumDoneStateFlag.Succ;
            var  mStat    = _player.Manager;

            switch ((EnumAIState)doneState.ClientId)
            {
            case EnumAIState.DefaultShoot:
            case EnumAIState.VolleyShoot:
            case EnumAIState.FreekickShoot:
            case EnumAIState.RebelShoot:
                _statStatus.ShootTimes++;
                mStat.Status.StatStatus.ShootTimes++;
                if (succFlag)
                {
                    _statStatus.Goals++;
                }
                return;

            case EnumAIState.ShortPass:
            case EnumAIState.LongPass:
                _statStatus.PassTimes++;
                mStat.Status.StatStatus.PassTimes++;
                if (succFlag)
                {
                    _statStatus.SuccPassTimes++;
                    mStat.Status.StatStatus.SuccPassTimes++;
                }
                return;

            case EnumAIState.DefaultDribble:
            case EnumAIState.BreakThrough:
                _statStatus.ThroughTimes++;
                mStat.Status.StatStatus.ThroughTimes++;
                if (succFlag)
                {
                    _statStatus.SuccThroughTimes++;
                    mStat.Status.StatStatus.SuccThroughTimes++;
                }
                return;

            case EnumAIState.Interruption:
            case EnumAIState.SlideTackle:
                _statStatus.StealTimes++;
                mStat.Status.StatStatus.StealTimes++;
                if (succFlag)
                {
                    _statStatus.SuccStealTimes++;
                    mStat.Status.StatStatus.SuccStealTimes++;
                }
                return;

            case EnumAIState.DiveBall:
                _statStatus.DiveTimes++;
                mStat.Status.StatStatus.DiveTimes++;
                if (succFlag)
                {
                    _statStatus.SuccDiveTimes++;
                    mStat.Status.StatStatus.SuccDiveTimes++;
                }
                return;
            }
        }
예제 #4
0
 public PlayerMotionStateFilter(int[] values, EnumDoneStateFlag stateType)
     : base(values)
 {
     this.StateType = stateType;
     this.Side      = EnumOwnSide.Own;
 }