private IArea createArea(string id, IMask mask, bool isWalkable = false, bool isWalkBehind = false) { TypedParameter idParam = new TypedParameter(typeof(string), id); IArea area = _resolver.Container.Resolve <IArea>(idParam); area.Mask = mask; if (isWalkable) { area.AddComponent <IWalkableArea>(); } if (isWalkBehind) { area.AddComponent <IWalkBehindArea>(); } return(area); }
public static IArea WithRollerShutter(this IArea area, Enum id, IBinaryOutput powerOutput, IBinaryOutput directionOutput) { if (area == null) { throw new ArgumentNullException(nameof(area)); } if (powerOutput == null) { throw new ArgumentNullException(nameof(powerOutput)); } if (directionOutput == null) { throw new ArgumentNullException(nameof(directionOutput)); } var rollerShutter = new RollerShutter( ComponentIdFactory.Create(area.Id, id), new PortBasedRollerShutterEndpoint(powerOutput, directionOutput), area.Controller.Timer, area.Controller.ServiceLocator.GetService <ISchedulerService>()); area.AddComponent(rollerShutter); return(area); }
public static void Create(IArea area, float minZoom, float maxZoom) { var component = area.AddComponent <IZoomArea>(); component.MinZoom = minZoom; component.MaxZoom = maxZoom; }
public IRollerShutter RegisterRollerShutter(IArea area, Enum id, IBinaryOutput powerOutput, IBinaryOutput directionOutput) { if (area == null) { throw new ArgumentNullException(nameof(area)); } if (powerOutput == null) { throw new ArgumentNullException(nameof(powerOutput)); } if (directionOutput == null) { throw new ArgumentNullException(nameof(directionOutput)); } var rollerShutter = new RollerShutter( ComponentIdGenerator.Generate(area.Id, id), new PortBasedRollerShutterEndpoint(powerOutput, directionOutput), _timerService, _schedulerService, _settingsService); area.AddComponent(rollerShutter); return(rollerShutter); }
public void Show() { _shouldAnimate = true; var player = _game.State.Player; _playerAsFeature = new PlayerAsFeature(player); var factory = _game.Factory; _label = factory.UI.GetLabel("MoveAreaLabel", "Try Walking!", 100f, 30f, 10f, _parent.Height - 30f, _parent); _checkbox = factory.UI.GetCheckBox("MoveAreaCheckbox", (ButtonAnimation)null, null, null, null, 10f, _parent.Height - 60f, _parent, "Bind Area & Character", width: 20f, height: 20f); _checkbox.Checked = true; _shouldBindAreaToCharacter = true; _checkbox.OnCheckChanged.Subscribe(onBindChanged); _elevator = factory.Object.GetObject("Elevator Parent"); _elevator.TreeNode.SetParent(_parent.TreeNode); _elevator.RenderLayer = _parent.RenderLayer; _elevator.Image = new EmptyImage(1f, 1f); _elevator.Opacity = 0; _elevator.Position = (200f, 100f); var areaParent = factory.Object.GetObject("Elevator Area Parent"); areaParent.TreeNode.SetParent(_elevator.TreeNode); areaParent.RenderLayer = _parent.RenderLayer; _playerAsFeature.PlaceInFeatureWindow(_elevator); bool[,] maskArr = new bool[200, 200]; var mask = factory.Masks.Load(maskArr, "Elevator Mask", true, Colors.GreenYellow.WithAlpha(150)); _area = factory.Room.GetArea("Elevator Area", mask, null, true); _area.Mask.DebugDraw.TreeNode.SetParent(areaParent.TreeNode); _area.Mask.DebugDraw.RenderLayer = _parent.RenderLayer; var areaTranslate = _area.AddComponent <ITranslateComponent>(); var areaRotate = _area.AddComponent <IRotateComponent>(); player.Room.Areas.Add(_area); player.PlaceOnWalkableArea(); player.Z = _area.Mask.DebugDraw.Z - 1; _scheme.CurrentMode = RotatingCursorScheme.WALK_MODE; animate(_elevator, areaTranslate, areaRotate); }
public LogicalBinaryStateActuator RegisterLogicalActuator(IArea area, Enum id) { if (area == null) throw new ArgumentNullException(nameof(area)); var actuator = new LogicalBinaryStateActuator(ComponentIdGenerator.Generate(area.Id, id), _timerService); area.AddComponent(actuator); return actuator; }
public static void Create(IArea area, float minScaling, float maxScaling, bool scaleObjectsX = true, bool scaleObjectsY = true, bool scaleVolume = true) { var component = area.AddComponent<IScalingArea>(); component.MinScaling = minScaling; component.MaxScaling = maxScaling; component.ScaleObjectsX = scaleObjectsX; component.ScaleObjectsY = scaleObjectsY; component.ScaleVolume = scaleVolume; }
public ILamp RegisterLamp(IArea area, Enum id, IBinaryOutput output) { if (area == null) throw new ArgumentNullException(nameof(area)); if (output == null) throw new ArgumentNullException(nameof(output)); var lamp = new Lamp(ComponentIdGenerator.Generate(area.Id, id), new PortBasedBinaryStateEndpoint(output)); area.AddComponent(lamp); return lamp; }
public static void Create(IArea area, float minScaling, float maxScaling, bool scaleObjectsX = true, bool scaleObjectsY = true, bool scaleVolume = true) { var component = area.AddComponent <IScalingArea>(); component.MinScaling = minScaling; component.MaxScaling = maxScaling; component.ScaleObjectsX = scaleObjectsX; component.ScaleObjectsY = scaleObjectsY; component.ScaleVolume = scaleVolume; }
public IHumiditySensor RegisterHumiditySensor(IArea area, Enum id, INumericValueSensorEndpoint endpoint) { if (area == null) throw new ArgumentNullException(nameof(area)); if (endpoint == null) throw new ArgumentNullException(nameof(endpoint)); var humditySensor = new HumiditySensor(ComponentIdGenerator.Generate(area.Id, id), _settingsService, endpoint); area.AddComponent(humditySensor); return humditySensor; }
public static LogicalBinaryStateActuator CombineActuators(this IArea area, Enum id) { if (area == null) { throw new ArgumentNullException(nameof(area)); } var actuator = new LogicalBinaryStateActuator(ComponentIdFactory.Create(area.Id, id), area.Controller.Timer); area.AddComponent(actuator); return(actuator); }
public LogicalBinaryStateActuator RegisterLogicalActuator(IArea area, Enum id) { if (area == null) { throw new ArgumentNullException(nameof(area)); } var actuator = new LogicalBinaryStateActuator(ComponentIdGenerator.Generate(area.Id, id), _timerService); area.AddComponent(actuator); return(actuator); }
public static IArea WithTemperatureSensor(this IArea area, Enum id, INumericValueSensorEndpoint endpoint) { if (area == null) { throw new ArgumentNullException(nameof(area)); } if (endpoint == null) { throw new ArgumentNullException(nameof(endpoint)); } area.AddComponent(new TemperatureSensor(ComponentIdFactory.Create(area.Id, id), endpoint)); return(area); }
public IButton RegisterVirtualButton(IArea area, Enum id, Action <IButton> initializer = null) { if (area == null) { throw new ArgumentNullException(nameof(area)); } var virtualButton = new Button(ComponentIdGenerator.Generate(area.Id, id), new EmptyButtonEndpoint(), _timerService, _settingsService); initializer?.Invoke(virtualButton); area.AddComponent(virtualButton); return(virtualButton); }
public static IArea WithVirtualButton(this IArea area, Enum id, Action <IButton> initializer = null) { if (area == null) { throw new ArgumentNullException(nameof(area)); } var virtualButton = new Button(ComponentIdFactory.Create(area.Id, id), new EmptyButtonEndpoint(), area.Controller.Timer); initializer?.Invoke(virtualButton); area.AddComponent(virtualButton); return(area); }
public static IArea WithRollerShutterButtons( this IArea area, Enum upId, IBinaryInput upInput, Enum downId, IBinaryInput downInput) { if (area == null) { throw new ArgumentNullException(nameof(area)); } if (upInput == null) { throw new ArgumentNullException(nameof(upInput)); } if (downInput == null) { throw new ArgumentNullException(nameof(downInput)); } var upButton = new Button( ComponentIdFactory.Create(area.Id, upId), new PortBasedButtonEndpoint(upInput), area.Controller.Timer); area.AddComponent(upButton); var downButton = new Button( ComponentIdFactory.Create(area.Id, downId), new PortBasedButtonEndpoint(downInput), area.Controller.Timer); area.AddComponent(downButton); return(area); }
public void RegisterRollerShutterButtons( IArea area, Enum upId, IBinaryInput upInput, Enum downId, IBinaryInput downInput) { if (area == null) { throw new ArgumentNullException(nameof(area)); } if (upInput == null) { throw new ArgumentNullException(nameof(upInput)); } if (downInput == null) { throw new ArgumentNullException(nameof(downInput)); } var upButton = new Button( ComponentIdGenerator.Generate(area.Id, upId), new PortBasedButtonEndpoint(upInput), _timerService, _settingsService); area.AddComponent(upButton); var downButton = new Button( ComponentIdGenerator.Generate(area.Id, downId), new PortBasedButtonEndpoint(downInput), _timerService, _settingsService); area.AddComponent(downButton); }
public IMotionDetector RegisterMotionDetector(IArea area, Enum id, IBinaryInput input) { if (area == null) throw new ArgumentNullException(nameof(area)); if (input == null) throw new ArgumentNullException(nameof(input)); var motionDetector = new MotionDetector( ComponentIdGenerator.Generate(area.Id, id), new PortBasedMotionDetectorEndpoint(input), _schedulerService, _settingsService); area.AddComponent(motionDetector); return motionDetector; }
public IButton RegisterButton(IArea area, Enum id, IBinaryInput input, Action<IButton> initializer = null) { if (area == null) throw new ArgumentNullException(nameof(area)); if (input == null) throw new ArgumentNullException(nameof(input)); var button = new Button( ComponentIdGenerator.Generate(area.Id, id), new PortBasedButtonEndpoint(input), _timerService, _settingsService); initializer?.Invoke(button); area.AddComponent(button); return button; }
public static IArea WithLamp(this IArea area, Enum id, IBinaryOutput output) { if (area == null) { throw new ArgumentNullException(nameof(area)); } if (output == null) { throw new ArgumentNullException(nameof(output)); } var lamp = new Lamp(ComponentIdFactory.Create(area.Id, id), new PortBasedBinaryStateEndpoint(output)); area.AddComponent(lamp); return(area); }
public IHumiditySensor RegisterHumiditySensor(IArea area, Enum id, INumericValueSensorEndpoint endpoint) { if (area == null) { throw new ArgumentNullException(nameof(area)); } if (endpoint == null) { throw new ArgumentNullException(nameof(endpoint)); } var humditySensor = new HumiditySensor(ComponentIdGenerator.Generate(area.Id, id), _settingsService, endpoint); area.AddComponent(humditySensor); return(humditySensor); }
public ILamp RegisterLamp(IArea area, Enum id, IBinaryOutput output) { if (area == null) { throw new ArgumentNullException(nameof(area)); } if (output == null) { throw new ArgumentNullException(nameof(output)); } var lamp = new Lamp(ComponentIdGenerator.Generate(area.Id, id), new PortBasedBinaryStateEndpoint(output)); area.AddComponent(lamp); return(lamp); }
public IRollerShutter RegisterRollerShutter(IArea area, Enum id, IBinaryOutput powerOutput, IBinaryOutput directionOutput) { if (area == null) throw new ArgumentNullException(nameof(area)); if (powerOutput == null) throw new ArgumentNullException(nameof(powerOutput)); if (directionOutput == null) throw new ArgumentNullException(nameof(directionOutput)); var rollerShutter = new RollerShutter( ComponentIdGenerator.Generate(area.Id, id), new PortBasedRollerShutterEndpoint(powerOutput, directionOutput), _timerService, _schedulerService, _settingsService); area.AddComponent(rollerShutter); return rollerShutter; }
public ISocket RegisterSocket(IArea area, Enum id, IBinaryOutput output) { if (area == null) { throw new ArgumentNullException(nameof(area)); } if (output == null) { throw new ArgumentNullException(nameof(output)); } var socket = new Socket(ComponentIdGenerator.Generate(area.Id, id), new PortBasedBinaryStateEndpoint(output)); area.AddComponent(socket); return(socket); }
public static IArea WithWindow(this IArea area, Enum id, Action <Window> initializer) { if (area == null) { throw new ArgumentNullException(nameof(area)); } if (initializer == null) { throw new ArgumentNullException(nameof(initializer)); } var window = new Window(ComponentIdFactory.Create(area.Id, id)); initializer(window); area.AddComponent(window); return(area); }
public IWindow RegisterWindow(IArea area, Enum id, Action <Window> initializer) { if (area == null) { throw new ArgumentNullException(nameof(area)); } if (initializer == null) { throw new ArgumentNullException(nameof(initializer)); } var window = new Window(ComponentIdGenerator.Generate(area.Id, id), _settingsService); initializer(window); area.AddComponent(window); return(window); }
public static IArea WithMotionDetector(this IArea area, Enum id, IBinaryInput input) { if (area == null) { throw new ArgumentNullException(nameof(area)); } if (input == null) { throw new ArgumentNullException(nameof(input)); } var motionDetector = new MotionDetector( ComponentIdFactory.Create(area.Id, id), new PortBasedMotionDetectorEndpoint(input), area.Controller.ServiceLocator.GetService <ISchedulerService>()); area.AddComponent(motionDetector); return(area); }
public IStateMachine RegisterStateMachine(IArea area, Enum id, Action <StateMachine, IArea> initializer) { if (area == null) { throw new ArgumentNullException(nameof(area)); } if (initializer == null) { throw new ArgumentNullException(nameof(initializer)); } var stateMachine = new StateMachine(ComponentIdGenerator.Generate(area.Id, id)); initializer(stateMachine, area); stateMachine.SetInitialState(BinaryStateId.Off); area.AddComponent(stateMachine); return(stateMachine); }
public static IArea WithStateMachine(this IArea area, Enum id, Action <StateMachine, IArea> initializer) { if (area == null) { throw new ArgumentNullException(nameof(area)); } if (initializer == null) { throw new ArgumentNullException(nameof(initializer)); } var stateMachine = new StateMachine( ComponentIdFactory.Create(area.Id, id)); initializer(stateMachine, area); stateMachine.SetInitialState(BinaryStateId.Off); area.AddComponent(stateMachine); return(area); }
public IMotionDetector RegisterMotionDetector(IArea area, Enum id, IBinaryInput input) { if (area == null) { throw new ArgumentNullException(nameof(area)); } if (input == null) { throw new ArgumentNullException(nameof(input)); } var motionDetector = new MotionDetector( ComponentIdGenerator.Generate(area.Id, id), new PortBasedMotionDetectorEndpoint(input), _schedulerService, _settingsService); area.AddComponent(motionDetector); return(motionDetector); }
public static IArea WithButton(this IArea area, Enum id, IBinaryInput input, Action <IButton> initializer = null) { if (area == null) { throw new ArgumentNullException(nameof(area)); } if (input == null) { throw new ArgumentNullException(nameof(input)); } var button = new Button( ComponentIdFactory.Create(area.Id, id), new PortBasedButtonEndpoint(input), area.Controller.Timer); initializer?.Invoke(button); area.AddComponent(button); return(area); }
public IButton RegisterButton(IArea area, Enum id, IBinaryInput input, Action <IButton> initializer = null) { if (area == null) { throw new ArgumentNullException(nameof(area)); } if (input == null) { throw new ArgumentNullException(nameof(input)); } var button = new Button( ComponentIdGenerator.Generate(area.Id, id), new PortBasedButtonEndpoint(input), _timerService, _settingsService); initializer?.Invoke(button); area.AddComponent(button); return(button); }
public IStateMachine RegisterStateMachine(IArea area, Enum id, Action<StateMachine, IArea> initializer) { if (area == null) throw new ArgumentNullException(nameof(area)); if (initializer == null) throw new ArgumentNullException(nameof(initializer)); var stateMachine = new StateMachine(ComponentIdGenerator.Generate(area.Id, id)); initializer(stateMachine, area); stateMachine.SetInitialState(BinaryStateId.Off); area.AddComponent(stateMachine); return stateMachine; }
public static void Create(IArea area, float minZoom, float maxZoom) { var component = area.AddComponent<IZoomArea>(); component.MinZoom = minZoom; component.MaxZoom = maxZoom; }
public IButton RegisterVirtualButton(IArea area, Enum id, Action<IButton> initializer = null) { if (area == null) throw new ArgumentNullException(nameof(area)); var virtualButton = new Button(ComponentIdGenerator.Generate(area.Id, id), new EmptyButtonEndpoint(), _timerService, _settingsService); initializer?.Invoke(virtualButton); area.AddComponent(virtualButton); return virtualButton; }
public IWindow RegisterWindow(IArea area, Enum id, Action<Window> initializer) { if (area == null) throw new ArgumentNullException(nameof(area)); if (initializer == null) throw new ArgumentNullException(nameof(initializer)); var window = new Window(ComponentIdGenerator.Generate(area.Id, id), _settingsService); initializer(window); area.AddComponent(window); return window; }
public void RegisterRollerShutterButtons( IArea area, Enum upId, IBinaryInput upInput, Enum downId, IBinaryInput downInput) { if (area == null) throw new ArgumentNullException(nameof(area)); if (upInput == null) throw new ArgumentNullException(nameof(upInput)); if (downInput == null) throw new ArgumentNullException(nameof(downInput)); var upButton = new Button( ComponentIdGenerator.Generate(area.Id, upId), new PortBasedButtonEndpoint(upInput), _timerService, _settingsService); area.AddComponent(upButton); var downButton = new Button( ComponentIdGenerator.Generate(area.Id, downId), new PortBasedButtonEndpoint(downInput), _timerService, _settingsService); area.AddComponent(downButton); }
public ISocket RegisterSocket(IArea area, Enum id, IBinaryOutput output) { if (area == null) throw new ArgumentNullException(nameof(area)); if (output == null) throw new ArgumentNullException(nameof(output)); var socket = new Socket(ComponentIdGenerator.Generate(area.Id, id), new PortBasedBinaryStateEndpoint(output)); area.AddComponent(socket); return socket; }