private void PilotRequest_Dispatch(object sender, PilotRequest_DispatchDelegateArgs args) { string trace_msg = "Pilot request: from: " + args.from_pilot + " cmd: " + args.pilot_command.command.ToString(); Trace.WriteLine(trace_msg); PilotControllerInfo pilot_info = null; pilot_dictionary.TryGetValue(args.from_pilot, out pilot_info); if (pilot_info != null) { pilot_info.actor.Sprite.PilotRequest(args.pilot_command); } else { string msg = "!!! Controller could not find pilot: " + args.from_pilot; Trace.WriteLine(msg); } }
private void LeaveRequest_Dispatch(object sender, LeaveRequest_DispatchDelegateArgs args) { string trace_msg = "Leave request: from: " + args.pilot; Trace.WriteLine(trace_msg); PilotControllerInfo pilot_info = null; pilot_dictionary.TryGetValue(args.pilot, out pilot_info); if (pilot_info != null) { string msg = "Controller removing pilot: " + args.pilot; Trace.WriteLine(msg); PlayerJetRemoveFromStage(pilot_info.actor); // Remove from stage (and sprite update loop). pilot_dictionary.Remove(args.pilot); // Removed from pilot dictionary. } else { string msg = "!!! Controller could not find pilot: " + args.pilot; Trace.WriteLine(msg); } }
/// <summary> /// /// </summary> /// <returns></returns> private bool AddPilot(string pilot_name) { bool pilot_added = false; if (pilot_dictionary.ContainsKey(pilot_name)) { string msg = "!!! Controller already has pilot: " + pilot_name; Trace.WriteLine(msg); } else { // Add pilot string msg = "Controller adding pilot: " + pilot_name; Trace.WriteLine(msg); int player_number = pilot_dictionary.Count; PlayerJetActor player_jet = PlayerJetAddToStage(pilot_name, player_number); PilotControllerInfo pilot_info = new PilotControllerInfo(player_jet); // Add pilot to dictionary of pilots. pilot_dictionary.Add(pilot_name, pilot_info); } return(pilot_added); }