void BuildPass(PlayerStateReport stateReport) { BatchRateEntity passEntity = null; switch (stateReport.State) { case (int)EnumClientState.LongPass: passEntity = LongPass; break; case (int)EnumClientState.ShortPass: passEntity = ShortPass; break; case (int)EnumClientState.HeadPass: passEntity = HeadPass; break; } if (passEntity != null) { TotalPass.Times++; passEntity.Times++; var nextHasBall = GetNextHasballPlayer(); var latelyHoldBall = GetLatelyHoldballPlayer(); if (nextHasBall > 0 && nextHasBall == latelyHoldBall) { TotalPass.SuccTimes++; passEntity.SuccTimes++; } } }
private void BuildDefault(PlayerStateReport stateReport) { switch (stateReport.State) { case (int)EnumClientState.BreakThrough: Breakthrough.Times++; if (CheckHasball()) { Breakthrough.SuccTimes++; } break; case (int)EnumClientState.Interruption: case (int)EnumClientState.SlideTackle: Steal.Times++; if (stateReport.HasBall == 1) { Steal.SuccTimes++; } break; //case (int)EnumClientState.KeepBall: case (int)EnumClientState.DiveBall: BuildDive(stateReport); break; default: BuildPass(stateReport); break; } }
private void BuildDive(PlayerStateReport stateReport) { GoalKeep.Times++; if (!CheckGoal()) { GoalKeep.SuccTimes++; } }
void BuildShoot(PlayerStateReport stateReport) { var newReport = stateReport as PlayerShootStateReport; if (newReport == null) { return; } BatchShootEntity shootEntity = null; switch (newReport.State) { case (int)EnumClientState.Shoot: shootEntity = Shoot; break; case (int)EnumClientState.RebelShoot: BuildRebelShoot(newReport); break; case (int)EnumClientState.VolleyShoot: shootEntity = VolleyShoot; break; case (int)EnumClientState.BicycleShot: shootEntity = BicycleShot; break; } if (shootEntity != null) { TotalShoot.ShootTimes++; shootEntity.ShootTimes++; shootEntity.ShootRate += 0; TotalShoot.ShootRate += 0; if (newReport.GoalIndex == 0) { TotalShoot.DoorFrame++; shootEntity.DoorFrame++; } else if (newReport.GoalIndex < 4 && CheckGoal()) { TotalShoot.GoalTimes++; shootEntity.GoalTimes++; } } }
protected void FillStateRpt(IPlayer player, PlayerStateReport rpt) { rpt.Current = player.Current; rpt.Angle = GetPlayerAngleIndex(player.Angle); rpt.State = player.Status.ClientState; rpt.IsBackward = Convert.ToByte(player.Status.IsBackward); rpt.IsStantUp = Convert.ToByte(player.Status.IsStantUp); rpt.HasBall = Convert.ToByte(player.Status.Hasball); rpt.HoldBall = Convert.ToByte(player.Status.Holdball); if (player.Status.IsAttackSide) { rpt.NameVisible = player.Status.Hasball ? (byte)1 : (byte)0; } else { rpt.NameVisible = (player.Status.DefenceStatus.DefenceTarget == player.Match.Status.BallHandler) ? (byte)1 : (byte)0; } //rpt.FoulLevel = player.Status.FoulStatus.FoulLevel; rpt.FoulLevel = player.SkillFoulState; rpt.ModelId = player.Status.ModelStatus.Mid; }