public RollerShutterAutomation( AutomationId id, IHomeAutomationTimer timer, IDaylightService daylightService, IWeatherService weatherService, IComponentController componentController) : base(id) { if (timer == null) { throw new ArgumentNullException(nameof(timer)); } if (daylightService == null) { throw new ArgumentNullException(nameof(daylightService)); } if (weatherService == null) { throw new ArgumentNullException(nameof(weatherService)); } if (componentController == null) { throw new ArgumentNullException(nameof(componentController)); } _timer = timer; _daylightService = daylightService; _weatherService = weatherService; _componentController = componentController; SpecialSettingsWrapper = new RollerShutterAutomationSettingsWrapper(Settings); }
// TODO (or at least consider) - so much copied code between this and shield version, refactor? public void Initialise(IComponentController weapon) { Weapon = (WeaponController)weapon; WeaponNameLabel = transform.Find("WeaponName").GetComponent <Text>(); WeaponNameLabel.text = Weapon.Name; TargetButton = transform.Find("TargetButton").GetComponent <Button>(); TargetButton.onClick.AddListener(StartTargeting); ArcButton = transform.Find("ArcButton").GetComponent <Button>(); ArcButton.onClick.AddListener(ToggleArc); FreeFireToggle = transform.Find("FreeFireToggle").GetComponent <Toggle>(); FreeFireToggle.isOn = Weapon.FreeFire; FreeFireToggle.onValueChanged.AddListener(SetFreeFire); DamageBoostToggle = transform.Find("DamageBoostToggle").GetComponent <Toggle>(); DamageBoostToggle.isOn = Weapon.DamageBoosted; DamageBoostToggle.onValueChanged.AddListener(SetDamageBoost); RangeBoostToggle = transform.Find("RangeBoostToggle").GetComponent <Toggle>(); RangeBoostToggle.isOn = Weapon.RangeBoosted; RangeBoostToggle.onValueChanged.AddListener(SetRangeBoost); // store text color so we can set back labelColor = WeaponNameLabel.color; buttonColor = TargetButton.GetComponentInChildren <Text>().color; }
public void Initialise(IComponentController shield) { Shield = (ShieldController)shield; ShieldNameLabel = transform.Find("ShieldName").GetComponent <Text>(); ShieldNameLabel.text = Shield.Name; TargetButton = transform.Find("TargetButton").GetComponent <Button>(); TargetButton.onClick.AddListener(StartTargeting); ArcButton = transform.Find("ArcButton").GetComponent <Button>(); ArcButton.onClick.AddListener(ToggleArc); DirectionSlider = transform.Find("DirectionSlider").GetComponent <Slider>(); DirectionSlider.onValueChanged.AddListener(SetDirection); DirectionSlider.value = Shield.GetRotationProportion(); DirectionSlider.interactable = (Shield.GetTarget() == null); RechargeToggle = transform.Find("RechargeToggle").GetComponent <Toggle>(); RechargeToggle.isOn = Shield.Recharging; RechargeToggle.onValueChanged.AddListener(SetRecharging); // store text color so we can set back labelColor = ShieldNameLabel.color; buttonColor = TargetButton.GetComponentInChildren <Text>().color; }
public static IActuator GetActuator(this IComponentController controller, ComponentId id) { if (controller == null) { throw new ArgumentNullException(nameof(controller)); } if (id == null) { throw new ArgumentNullException(nameof(id)); } return(controller.GetComponent <IActuator>(id)); }
public void Initialise(IComponentController powerController) { _powerController = (PowerController)powerController; _powerController.RegisterOnPowerChange(OnPowerChange); PowerNameLabel = transform.Find("EntryTitle").GetComponent <Text>(); PowerNameLabel.text = "Power"; // hard coded for now? RechargeLabel = transform.Find("RechargeRate").GetComponent <Text>(); RechargeLabel.text = string.Format("Rechg: ({0}/t)", _powerController.PowerPerTurn); PowerLevelLabel = transform.Find("PowerLevel").GetComponent <Text>(); PowerLevelLabel.text = string.Format("{0}/{1}", _powerController.CurrentPower, _powerController.MaxPower); }
public RollerShutterAutomation( AutomationId id, ISchedulerService schedulerService, IDateTimeService dateTimeService, IDaylightService daylightService, IOutdoorTemperatureService outdoorTemperatureService, IComponentController componentController) : base(id) { if (schedulerService == null) { throw new ArgumentNullException(nameof(schedulerService)); } if (dateTimeService == null) { throw new ArgumentNullException(nameof(dateTimeService)); } if (daylightService == null) { throw new ArgumentNullException(nameof(daylightService)); } if (outdoorTemperatureService == null) { throw new ArgumentNullException(nameof(outdoorTemperatureService)); } if (componentController == null) { throw new ArgumentNullException(nameof(componentController)); } _schedulerService = schedulerService; _dateTimeService = dateTimeService; _daylightService = daylightService; _outdoorTemperatureService = outdoorTemperatureService; _componentController = componentController; SpecialSettingsWrapper = new RollerShutterAutomationSettingsWrapper(Settings); }