public Engine(ICommandsRunner commandsRunner, IInputReader inputReader, IScreenDrawer screenDrawer, IMainPlayer player, IRoom lastRoom)
        {
            this.commandsRunner = commandsRunner ?? throw new ArgumentNullException(nameof(commandsRunner));
            this.inputReader    = inputReader ?? throw new ArgumentNullException(nameof(inputReader));
            this.screenDrawer   = screenDrawer ?? throw new ArgumentNullException(nameof(screenDrawer));

            if (player == null)
            {
                throw new ArgumentNullException(nameof(player));
            }

            if (lastRoom == null)
            {
                throw new ArgumentNullException(nameof(lastRoom));
            }

            player.OnRoomEnter += (sender, args) =>
            {
                player.Health -= 10;
                screenDrawer.ShowMessage($"Ти отиде до стая. Това ти костваше 10 живот. Имаш {player.Health} живот");

                if (args.Room.Number == lastRoom.Number)
                {
                    this.screenDrawer.ShowMessage("Край на играта.");
                    Thread.Sleep(5000);
                    Environment.Exit(0);
                }
            };

            this.SetupCommands(player, commandsRunner, screenDrawer);
        }
Ejemplo n.º 2
0
 public CommandPresenter(ICommandActivity commandActivity, IScreenDrawer screenDrawer, string mode)
 {
     baseDirectory        = Android.App.Application.Context.GetString(Resource.String.JSONObjectsDirectory);
     this.commandActivity = commandActivity;
     this.screenDrawer    = screenDrawer;
     this.socket          = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
     SetAverageSelection();
 }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.Command);
            screenDrawer = (ScreenDrawer)FindViewById(Resource.Id.screenDrawer);
            string mode = Intent.GetStringExtra("Mode");

            Console.WriteLine("CommandActivity setting mode:" + mode);
            SetComponents();
            commandPresenter = new CommandPresenter(this, screenDrawer, mode);
            commandPresenter.SetMode(mode);
            SetComponentsActions();
            FilterOff();
            Log.Debug("CommandActivity", "Mode :" + mode);
        }
 public PickItemCommand(IMainPlayer player, IScreenDrawer screenDrawer)
 {
     this.player       = player ?? throw new ArgumentNullException(nameof(player));
     this.screenDrawer = screenDrawer ?? throw new ArgumentNullException(nameof(screenDrawer));
 }
Ejemplo n.º 5
0
 public GoThroughCommand(IMainPlayer player, IScreenDrawer drawer)
 {
     this.player = player ?? throw new ArgumentNullException(nameof(player));
     this.drawer = drawer ?? throw new ArgumentNullException(nameof(drawer));
 }
Ejemplo n.º 6
0
 public HelpCommand(ICommandsRunner commandsRunner, IScreenDrawer screenDrawer)
 {
     this.commandsRunner = commandsRunner ?? throw new ArgumentNullException(nameof(commandsRunner));
     this.screenDrawer   = screenDrawer ?? throw new ArgumentNullException(nameof(screenDrawer));
 }
 public static void DrawErrorMessage(IScreenDrawer drawer, string errorMessage)
 {
     drawer.ShowMessage($"-- ГРЕШКА: {errorMessage} --");
 }
 private void SetupCommands(IMainPlayer mainPlayer, ICommandsRunner commandsRunner, IScreenDrawer screenDrawer)
 {
     commandsRunner.AddCommand("помощ", new HelpCommand(commandsRunner, screenDrawer));
     commandsRunner.AddCommand("махни предмет", new DropItemCommand(mainPlayer, screenDrawer));
     commandsRunner.AddCommand("отиди до", new GoThroughCommand(mainPlayer, screenDrawer));
     commandsRunner.AddCommand("вземи предмет", new PickItemCommand(mainPlayer, screenDrawer));
     commandsRunner.AddCommand("покажи всички", new ShowItemsOnGroundCommand(mainPlayer, screenDrawer));
     commandsRunner.AddCommand("къде съм", new WhereAmICommand(mainPlayer, screenDrawer));
     commandsRunner.AddCommand("къде мога да отида", new WhereCanIGoCommand(mainPlayer, screenDrawer));
 }
Ejemplo n.º 9
0
 public DropItemCommand(IMainPlayer mainPlayer, IScreenDrawer drawer)
 {
     this.mainPlayer = mainPlayer ?? throw new ArgumentNullException(nameof(mainPlayer));
     this.drawer     = drawer ?? throw new ArgumentNullException(nameof(drawer));
 }