Beispiel #1
0
 internal void Initialize(Canvas mainArea)
 {
     _dp          = new DungeonParameters();
     _assests     = new AssetsFabric(_dp);
     Gen          = new Generator(_dp);
     Drawer       = new AreaDrawer(_dp, Gen, mainArea, _assests);
     _player      = new Player();
     InputManager = new KeysInputBehaviorFactory(Gen, Drawer);
 }
        internal override void Execute(Generator gen, AreaDrawer drawer, Player player)
        {
            var nextpos = player.XPos + 1;;

            if (gen.CanMove(nextpos, player.YPos))
            {
                player.XPos = nextpos;
                drawer.MovePlayer(player);
            }
        }
Beispiel #3
0
 public Receiver(ViewModel viewModel)
 {
     this.ViewModel             = viewModel;
     this._doorAvailablePoints  = new List <Point>();
     this._windowAvailableWalls = new List <Rect>();
     this._areaDrawer           = new AreaDrawer(this);
     this._cameraDrawer         = new CameraDrawer(this);
     this._doorDrawer           = new DoorDrawer(this, ref _doorAvailablePoints);
     this._windowAvailableWalls = new List <Rect>();
     this._wallDrawer           = new WallDrawer(this, ref _doorAvailablePoints, ref _windowAvailableWalls);
     this._windowDrawer         = new WindowDrawer(this, ref _windowAvailableWalls);
 }
Beispiel #4
0
 internal abstract void Execute(Generator gen, AreaDrawer drawer, Player player);
Beispiel #5
0
 public KeysInputBehaviorFactory(Generator gen, AreaDrawer drawer)
 {
     _gen    = gen;
     _drawer = drawer;
     InitializeMappings();
 }
 internal override void Execute(Generator gen, AreaDrawer drawer, Player player)
 {
     player.ChangeStance();
     drawer.ChangePlayerStance(player);
 }