Beispiel #1
0
 public Touched(GameObject sourceObject, GameObject targetObject, BasicTile targetTile, Screens.Board board)
 {
     SourceObject = sourceObject;
     TargetObject = targetObject;
     TargetTile   = targetTile;
     Board        = board;
 }
Beispiel #2
0
        public void Action(Screens.Board board, GameObject obj)
        {
            _tickCounter++;

            if (_tickCounter >= Tick)
            {
                if (obj.HasComponent <ObjectComponents.Movable>())
                {
                    var movable = obj.GetComponent <ObjectComponents.Movable>();
                    movable.RequestMove((SadRogue.Primitives.Direction)Direction, board, obj);
                }

                _tickCounter = 0;
            }
        }
Beispiel #3
0
 public TileDestroyed(Tiles.BasicTile sourceTile, Screens.Board board)
 {
     SourceTile = sourceTile;
     Board      = board;
 }
Beispiel #4
0
 public ObjectCreated(GameObject sourceObject, Screens.Board board)
 {
     SourceObject = sourceObject;
     Board        = board;
 }
 public TileCreated(Tiles.BasicTile sourceTile, Screens.Board board)
 {
     SourceTile = sourceTile;
     Board      = board;
 }
Beispiel #6
0
        public void Touch(GameObject targetObject, BasicTile targetTile, GameObject source, Screens.Board board)
        {
            if (targetObject != null)
            {
                if (targetObject.HasComponents(typeof(Pushable), typeof(Movable)))
                {
                    Pushable pushComponent = targetObject.GetComponent <Pushable>();
                    var      pushDirection = Direction.GetDirection(source.Position, targetObject.Position);

                    if (!(pushComponent.Direction == Pushable.Directions.Horizontal && (pushDirection == Direction.Down || pushDirection == Direction.Up)) &&
                        !(pushComponent.Direction == Pushable.Directions.Vertical && (pushDirection == Direction.Left || pushDirection == Direction.Right)) &&
                        pushComponent.Mode == Pushable.Modes.All || (pushComponent.Mode == Pushable.Modes.PlayerOnly && source.HasComponent <PlayerControlled>()) || (pushComponent.Mode == Pushable.Modes.CreatureOnly && !source.HasComponent <PlayerControlled>())
                        )
                    {
                        targetObject.GetComponent <Movable>().RequestMove(pushDirection, board, targetObject);
                    }
                }

                targetObject.SendMessage(new Messages.Touched(source, targetObject, targetTile, board));
            }

            if (targetTile != null)
            {
                targetTile.SendMessage(new Messages.Touched(source, targetObject, targetTile, board));
            }
        }
 public ObjectDestroyed(GameObject sourceObject, Screens.Board board)
 {
     SourceObject = sourceObject;
     Board        = board;
 }