public Touched(GameObject sourceObject, GameObject targetObject, BasicTile targetTile, Screens.Board board) { SourceObject = sourceObject; TargetObject = targetObject; TargetTile = targetTile; Board = board; }
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; } }
public TileDestroyed(Tiles.BasicTile sourceTile, Screens.Board board) { SourceTile = sourceTile; Board = board; }
public ObjectCreated(GameObject sourceObject, Screens.Board board) { SourceObject = sourceObject; Board = board; }
public TileCreated(Tiles.BasicTile sourceTile, Screens.Board board) { SourceTile = sourceTile; Board = board; }
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; }