void Robot_Spawn(Robot sender) { List<Player> temp = new List<Player>(Players); foreach (Player P in temp) { P.PlayerJoins(sender); } Spacecraft.Log("Bot " + sender.name + " has booted"); MessageAll(Color.Announce + "Bot " + Spacecraft.StripColors(sender.name) + " has joined!"); }
void Robot_Disconnect(Robot Player) { byte ID = Player.playerID; Robots.Remove(Player); List<Player> temp = new List<Player>(Players); foreach (Player P in temp) { P.PlayerDisconnects(ID); } Spacecraft.Log("Bot " + Player.name + " has shut down"); MessageAll(Color.Announce + "Bot " + Spacecraft.StripColors(Player.name) + " has left"); }
void Robot_Move(Robot sender, Position dest, byte heading, byte pitch) { List<Player> temp = new List<Player>(Players); foreach (Player P in temp) { P.PlayerMoves(sender, dest, heading, pitch); } }
public Robot SpawnRobot(Position pos, string name) { Robot Robot = new Robot(name); Robot.pos = pos; Robot.Spawn += new Robot.RobotSpawnHandler(Robot_Spawn); //Robot.Message += new Player.PlayerMsgHandler(Player_Message); Robot.Move += new Robot.RobotMoveHandler(Robot_Move); //Robot.BlockChange += new Player.PlayerBlockChangeHandler(Player_BlockChange); Robot.Disconnect += new Robot.RobotDisconnectHandler(Robot_Disconnect); Robots.Add(Robot); Robot.Start(); return Robot; }
public virtual void PlayerMoves(Robot Player, Position dest, byte heading, byte pitch) { conn.SendPlayerMovement(Player, dest, heading, pitch, false); }
public virtual void PlayerJoins(Robot Player) { conn.HandlePlayerSpawn(Player); }
public void SendPlayerMovement(Robot player, Position dest, byte heading, byte pitch, bool self) { PlayerMovePacket packet = new PlayerMovePacket(); packet.PlayerID = player.playerID; if (self) packet.PlayerID = 255; packet.X = player.pos.x; packet.Y = player.pos.y; packet.Z = player.pos.z; packet.Heading = heading; packet.Pitch = pitch; SendPacket(packet); }
public void HandlePlayerSpawn(Robot Player) { PlayerSpawnPacket packet = new PlayerSpawnPacket(); packet.PlayerID = Player.playerID; packet.Name = Player.name; packet.X = Player.pos.x; packet.Y = Player.pos.y; packet.Z = Player.pos.z; packet.Heading = Player.heading; packet.Pitch = Player.pitch; SendPacket(packet); }