예제 #1
0
		public KeyboardMovement(ICharacter character, IInput input, KeyboardMovementMode mode)
		{
			_character = character;
			Enabled = true;
			Mode = mode;
			_up = new AGSConcurrentHashSet<Key> ();
			_down = new AGSConcurrentHashSet<Key> ();
			_left = new AGSConcurrentHashSet<Key> ();
			_right = new AGSConcurrentHashSet<Key> ();
			_keysDown = new AGSConcurrentHashSet<Key> ();

			input.KeyDown.SubscribeToAsync(onKeyDown);
			input.KeyUp.SubscribeToAsync(onKeyUp);
		}
예제 #2
0
        public void ObjectBoolProperties_Test(string propertyName, bool isObj, bool?isParent, bool?isGrandParent, bool result)
        {
            Mock <IGameState>      state = _mocks.GameState();
            AGSBindingList <IRoom> rooms = new AGSBindingList <IRoom> (10);

            state.Setup(s => s.Rooms).Returns(rooms);

            Action <IObject, bool> setBool = (propertyName == "Visible") ? _setVisible : _setEnabled;

            Predicate <IObject> getBool = propertyName == "Visible" ? _getVisible : _getEnabled;

            AGSConcurrentHashSet <IObject> ui = new AGSConcurrentHashSet <IObject>();

            foreach (IObject obj in GetImplementors(_mocks, state))
            {
                state.Setup(s => s.UI).Returns(ui);
                ui.Add(obj);
                setBool(obj, isObj);
                if (!isParent.HasValue)
                {
                    bool actual = getBool(obj);
                    Assert.AreEqual(result, actual);
                    continue;
                }
                foreach (IObject parent in GetImplementors(_mocks, state))
                {
                    state.Setup(s => s.UI).Returns(ui);
                    ui.Add(parent);
                    obj.TreeNode.SetParent(parent.TreeNode);
                    setBool(parent, isParent.Value);
                    if (!isGrandParent.HasValue)
                    {
                        bool actual = getBool(obj);
                        Assert.AreEqual(result, actual);
                        continue;
                    }
                    foreach (IObject grandparent in GetImplementors(_mocks, state))
                    {
                        state.Setup(s => s.UI).Returns(ui);
                        ui.Add(grandparent);
                        parent.TreeNode.SetParent(grandparent.TreeNode);
                        setBool(grandparent, isGrandParent.Value);

                        bool actual = getBool(obj);
                        Assert.AreEqual(result, actual);
                    }
                }
            }
        }
예제 #3
0
 public Mock <IRoom> Room(bool newInstance = false)
 {
     if (_room == null || newInstance)
     {
         AGSBindingList <IArea>         areas       = new AGSBindingList <IArea>(5);
         AGSConcurrentHashSet <IObject> roomObjects = new AGSConcurrentHashSet <IObject> ();
         _room = new Mock <IRoom> ();
         _room.Setup(m => m.Background).Returns(Object().Object);
         _room.Setup(m => m.Objects).Returns(roomObjects);
         _room.Setup(m => m.ShowPlayer).Returns(true);
         _room.Setup(m => m.Events).Returns(RoomEvents().Object);
         _room.Setup(m => m.Areas).Returns(areas);
     }
     return(_room);
 }
예제 #4
0
        public void Init()
        {
            _mocks    = Mocks.Init();
            _resolver = Mocks.GetResolver();
            _resolver.Build();

            _areas       = new AGSBindingList <IArea>(1);
            _roomObjects = new AGSConcurrentHashSet <IObject>();
            _uiObjects   = new AGSConcurrentHashSet <IObject>();

            var room = _mocks.Room();

            room.Setup(m => m.Objects).Returns(_roomObjects);
            room.Setup(m => m.Areas).Returns(_areas);
            room.Setup(m => m.Background).Returns(() => null);
            _mocks.GameState().Setup(s => s.UI).Returns(_uiObjects);
        }
예제 #5
0
        public void Init()
        {
            _mocks = Mocks.Init();
            _transitions = new Mock<IAGSRoomTransitions>();
            Mock<IEngineConfigFile> configFile = new Mock<IEngineConfigFile>();
            _resolver = new Resolver(configFile.Object);

            _areas = new List<IArea>();
            _roomObjects = new AGSConcurrentHashSet<IObject>();
            _uiObjects = new AGSConcurrentHashSet<IObject>();

            var room = _mocks.Room();
            room.Setup(m => m.Objects).Returns(_roomObjects);
            room.Setup(m => m.Areas).Returns(_areas);
            room.Setup(m => m.Background).Returns(() => null);
            _mocks.GameState().Setup(s => s.UI).Returns(_uiObjects);
        }
예제 #6
0
        public void Init()
        {
            _mocks       = Mocks.Init();
            _transitions = new Mock <IAGSRoomTransitions>();
            _resolver    = Mocks.GetResolver();
            _resolver.Build();

            _areas       = new AGSBindingList <IArea>(1);
            _roomObjects = new AGSConcurrentHashSet <IObject>();
            _uiObjects   = new AGSConcurrentHashSet <IObject>();
            _events      = _resolver.Container.Resolve <IGameEvents>(); //new AGSGameEvents(null, new AGSEvent(), null, null, null, null, _resolver);

            var room = _mocks.Room();

            room.Setup(m => m.Objects).Returns(_roomObjects);
            room.Setup(m => m.Areas).Returns(_areas);
            room.Setup(m => m.Background).Returns(() => null);
            _mocks.GameState().Setup(s => s.UI).Returns(_uiObjects);
        }
예제 #7
0
 public AGSSkinComponent()
 {
     Skin = AGSGameSettings.CurrentSkin;
     SkinTags = new AGSConcurrentHashSet<string>();
 }
예제 #8
0
 public AGSAreaRestriction()
 {
     RestrictionList = new AGSConcurrentHashSet<string>();
 }