public override void OnHitRobot(HitRobotEvent e) { base.OnHitRobot(e); if (IsTeammate(e.Name)) { Stragegy.Clear(); Stragegy = new Zoombie(this); Stragegy.Init(); } }
public override void OnMessageReceived(MessageEvent evnt) { if (evnt.Message is Enemy) { var enemy = (Enemy)evnt.Message; if (enemy.Name != Name) { Targets[enemy.Name] = enemy; Stragegy.OnEnemyMessage(enemy); } } }
public override void OnScannedRobot(ScannedRobotEvent e) { base.OnScannedRobot(e); if (!IsTeammate(e.Name)) { if (e.Distance <= 120 && !(Stragegy is RamBot)) { Stragegy.Clear(); Stragegy = new RamBot(this); Stragegy.Init(); } } }
public override void Run() { if (Others >= 5) { Stragegy = new Meele(this); } else { Stragegy = new Solo(this); } Stragegy.Init(); while (true) { Stragegy.Run(); } }
public override void OnHitWall(HitWallEvent e) { Stragegy.OnHitWall(e); }
public override void OnBulletHit(BulletHitEvent e) { Stragegy.OnBulletHit(e); }
public override void OnPaint(IGraphics graphics) { Stragegy.OnPaint(graphics); base.OnPaint(graphics); }
public override void OnHitByBullet(HitByBulletEvent evnt) { Stragegy.OnHitByBullet(evnt); }
public override void OnHitRobot(HitRobotEvent e) { Stragegy.OnHitRobot(e); }
public override void OnScannedRobot(ScannedRobotEvent e) { TrackEnemy(e); Stragegy.OnScannedRobot(e); }