示例#1
0
文件: HQ.cs 项目: perl-easj/OOProg
        public void ExecuteMission(INamedTarget target)
        {
            Report($"Mission on elimination of {target.Name} initiated...");
            Agent theAgent = new Agent();

            ILoadableWeapon theGun = _director.PickWeapon();

            _director.LoadWeapon(theGun, new AmmoFactory());

            Report("Preparing agent for mission...");
            theAgent.PrepareForMission(theGun, target);

            Report("Agent is now executing mission...");
            theAgent.Execute();

            _missionStatus = theAgent.Debrief();

            if (_missionStatus == MissionStatus.Success)
            {
                Report("Mission was successful, thanks to our perfect planning!!");
            }
            else
            {
                Report("Mission failed... Agent will be held responsible");
            }
        }
示例#2
0
文件: Email.cs 项目: perl-easj/OOProg
 public Email(string sender, string receiver, string title, string content, INamedTarget target = null)
 {
     _sender   = sender;
     _receiver = receiver;
     _title    = title;
     _content  = content;
     _target   = target;
 }
示例#3
0
        public void EliminateRussianBadGuy()
        {
            Email        mail      = EmailHandler.Instance.Receive(Description);
            INamedTarget theTarget = mail?.Target;

            Report($"Information on {theTarget?.Name} acquired from our Russian Spy...");

            Report($"Initiating mission to eliminate {theTarget?.Name}...");
            _hq.ExecuteMission(theTarget);

            if (_hq.Status == MissionStatus.Success)
            {
                Report("Mission was successful, thanks to our competent Headquarters!!");
            }
            else
            {
                Report("Mission was mostly successful, thanks to our Headquarters!!");
            }
        }
示例#4
0
 public static INamedTarget CreateProxy(INamedTarget target)
 {
     return(new RussianGangsterProxy(target.Name));
 }