/// <summary> /// Constructor of GravitySensorAdapter. /// </summary> public GravitySensorAdapter() { sensor = new GravitySensor { Interval = 100, PausePolicy = SensorPausePolicy.None }; }
public void ProcessSensorData() { var data = new GravitySensor(); if (UpdateInputData(ref data.LastUpdateTime, ref data.Gravity)) { SetSensorData <GravitySensor>(data); } }
protected override void OnCreate() { base.OnCreate(); witchWatch = new WitchWatchApplication(); LoadWatchface(witchWatch); initialized = false; var now = GetCurrentTime().UtcTimestamp; var initTime = new DateTime(now.Year, now.Month, now.Day, 8, 31, 3); witchWatch.Time = initTime; witchWatch.MoveHands(); if (GravitySensor.IsSupported) { gravity = new GravitySensor(); gravity.DataUpdated += OnSensorUpdate; } }
public GravityPage() { Model = new GravityModel { IsSupported = GravitySensor.IsSupported, SensorCount = GravitySensor.Count }; InitializeComponent(); if (Model.IsSupported) { Gravity = new GravitySensor(); Gravity.DataUpdated += Gravity_DataUpdated; Gravity.AccuracyChanged += Gravity_AccuracyChanged; canvas.Series = new List <Series>() { new Series() { Color = SKColors.Red, Name = "X", FormattedText = "X={0:f2}m/s^2", }, new Series() { Color = SKColors.Green, Name = "Y", FormattedText = "Y={0:f2}m/s^2", }, new Series() { Color = SKColors.Blue, Name = "Z", FormattedText = "Z={0:f2}m/s^2", }, }; } }
public void InitializeModules(AgentGenome genome, Agent agent) { atmosphereSensorList = new List <AtmosphereSensor>(); basicJointList = new List <BasicJoint>(); basicWheelList = new List <BasicWheel>(); contactSensorList = new List <ContactSensor>(); gravitySensorList = new List <GravitySensor>(); healthModuleList = new List <HealthModule>(); oscillatorList = new List <InputOscillator>(); raycastSensorList = new List <RaycastSensor>(); shieldList = new List <Shield>(); targetSensorList = new List <TargetSensor>(); thrusterEffectorList = new List <ThrusterEffector>(); torqueEffectorList = new List <TorqueEffector>(); trajectorySensorList = new List <TrajectorySensor>(); valueList = new List <InputValue>(); weaponProjectileList = new List <WeaponProjectile>(); weaponTazerList = new List <WeaponTazer>(); for (int i = 0; i < genome.bodyGenome.atmosphereSensorList.Count; i++) { AtmosphereSensor atmosphereSensor = new AtmosphereSensor(); atmosphereSensor.Initialize(genome.bodyGenome.atmosphereSensorList[i], agent); atmosphereSensorList.Add(atmosphereSensor); } for (int i = 0; i < genome.bodyGenome.basicJointList.Count; i++) { BasicJoint basicJoint = new BasicJoint(); basicJoint.Initialize(genome.bodyGenome.basicJointList[i], agent); basicJointList.Add(basicJoint); //basicJointList[i].Initialize(genome.basicJointList[i]); } for (int i = 0; i < genome.bodyGenome.basicWheelList.Count; i++) { BasicWheel basicWheel = new BasicWheel(); basicWheel.Initialize(genome.bodyGenome.basicWheelList[i], agent); basicWheelList.Add(basicWheel); //OLD: //basicWheelList[i].Initialize(genome.basicWheelList[i]); } for (int i = 0; i < genome.bodyGenome.contactSensorList.Count; i++) { ContactSensor contactSensor = new ContactSensor(); //agent.segmentList[genome.contactSensorList[i].parentID].AddComponent<ContactSensorComponent>(); contactSensor.Initialize(genome.bodyGenome.contactSensorList[i], agent); contactSensorList.Add(contactSensor); //contactSensorList[i].Initialize(genome.contactSensorList[i]); } for (int i = 0; i < genome.bodyGenome.gravitySensorList.Count; i++) { GravitySensor gravitySensor = new GravitySensor(); gravitySensor.Initialize(genome.bodyGenome.gravitySensorList[i], agent); gravitySensorList.Add(gravitySensor); } for (int i = 0; i < genome.bodyGenome.healthModuleList.Count; i++) { HealthModule healthModule = new HealthModule(); //agent.segmentList[genome.healthModuleList[i].parentID].AddComponent<HealthModuleComponent>(); healthModule.Initialize(genome.bodyGenome.healthModuleList[i], agent); healthModuleList.Add(healthModule); //healthModuleList[i].Initialize(genome.healthModuleList[i]); } for (int i = 0; i < genome.bodyGenome.oscillatorInputList.Count; i++) { InputOscillator inputOscillator = new InputOscillator(); inputOscillator.Initialize(genome.bodyGenome.oscillatorInputList[i], agent); oscillatorList.Add(inputOscillator); //oscillatorList[i].Initialize(genome.oscillatorInputList[i]); } for (int i = 0; i < genome.bodyGenome.raycastSensorList.Count; i++) { RaycastSensor raycastSensor = new RaycastSensor(); raycastSensor.Initialize(genome.bodyGenome.raycastSensorList[i], agent); raycastSensorList.Add(raycastSensor); //raycastSensorList[i].Initialize(genome.raycastSensorList[i]); } for (int i = 0; i < genome.bodyGenome.shieldList.Count; i++) { Shield shield = new Shield(); shield.Initialize(genome.bodyGenome.shieldList[i], agent); shieldList.Add(shield); } for (int i = 0; i < genome.bodyGenome.targetSensorList.Count; i++) { TargetSensor targetSensor = new TargetSensor(); targetSensor.Initialize(genome.bodyGenome.targetSensorList[i], agent); targetSensorList.Add(targetSensor); //targetSensorList[i].Initialize(genome.targetSensorList[i]); } for (int i = 0; i < genome.bodyGenome.thrusterList.Count; i++) { // Create Functional GameObjects & Components: // none in this case // Create Logic Module: ThrusterEffector thrusterEffector = new ThrusterEffector(); // Initialize and HookUp Logic Module: thrusterEffector.Initialize(genome.bodyGenome.thrusterList[i], agent); // If Visible, Create Renderable GameObjects & Components: if (isVisible) { // Find appropriate Prefab based on Agent & Module Genome: GameObject thrusterGO = Instantiate(Resources.Load("Prefabs/Modules/Thrusters/thrusterTest")) as GameObject; thrusterGO.transform.parent = agent.segmentList[genome.bodyGenome.thrusterList[i].parentID].transform; thrusterGO.transform.localPosition = genome.bodyGenome.thrusterList[i].forcePoint; thrusterGO.transform.localRotation = Quaternion.identity; // Hook into Logic Module thrusterEffector.thrusterComponent = thrusterGO.GetComponent <ThrusterComponent>(); } // Add Logic Module to Agent's Master List thrusterEffectorList.Add(thrusterEffector); } for (int i = 0; i < genome.bodyGenome.torqueList.Count; i++) { TorqueEffector torqueEffector = new TorqueEffector(); torqueEffector.Initialize(genome.bodyGenome.torqueList[i], agent); torqueEffectorList.Add(torqueEffector); //torqueEffectorList[i].Initialize(genome.torqueList[i]); } for (int i = 0; i < genome.bodyGenome.trajectorySensorList.Count; i++) { TrajectorySensor trajectorySensor = new TrajectorySensor(); trajectorySensor.Initialize(genome.bodyGenome.trajectorySensorList[i], agent); trajectorySensorList.Add(trajectorySensor); } for (int i = 0; i < genome.bodyGenome.valueInputList.Count; i++) { InputValue inputValue = new InputValue(); inputValue.Initialize(genome.bodyGenome.valueInputList[i], agent); valueList.Add(inputValue); //valueList[i].Initialize(genome.valueInputList[i]); } for (int i = 0; i < genome.bodyGenome.weaponProjectileList.Count; i++) { WeaponProjectile weaponProjectile = new WeaponProjectile(); weaponProjectile.Initialize(genome.bodyGenome.weaponProjectileList[i], agent); if (isVisible) { // Find appropriate Prefab based on Agent & Module Genome: GameObject weaponGO = Instantiate(Resources.Load("Prefabs/Modules/WeaponProjectiles/projectileTest")) as GameObject; weaponGO.transform.parent = agent.segmentList[genome.bodyGenome.weaponProjectileList[i].parentID].transform; weaponGO.transform.localPosition = genome.bodyGenome.weaponProjectileList[i].muzzleLocation; weaponGO.transform.localRotation = Quaternion.identity; // Hook into Logic Module weaponProjectile.weaponProjectileComponent = weaponGO.GetComponent <WeaponProjectileComponent>(); } weaponProjectileList.Add(weaponProjectile); /*weaponProjectileList[i].Initialize(genome.weaponProjectileList[i]); * * if (isVisible) { * GameObject particleGO = Instantiate(Resources.Load(weaponProjectileList[i].GetParticleSystemURL())) as GameObject; * ParticleSystem particle = particleGO.GetComponent<ParticleSystem>(); * ParticleSystem.EmissionModule emission = particle.emission; * emission.enabled = false; * particle.gameObject.transform.parent = rootObject.transform; * particle.gameObject.transform.localPosition = new Vector3(0f, 0.5f, 0f); * particle.gameObject.transform.localRotation = Quaternion.identity; * weaponProjectileList[i].particles = particle; // save reference * } */ } for (int i = 0; i < genome.bodyGenome.weaponTazerList.Count; i++) { WeaponTazer weaponTazer = new WeaponTazer(); weaponTazer.Initialize(genome.bodyGenome.weaponTazerList[i], agent); if (isVisible) { // Find appropriate Prefab based on Agent & Module Genome: GameObject weaponGO = Instantiate(Resources.Load("Prefabs/Modules/WeaponTazers/tazerTest")) as GameObject; weaponGO.transform.parent = agent.segmentList[genome.bodyGenome.weaponTazerList[i].parentID].transform; weaponGO.transform.localPosition = genome.bodyGenome.weaponTazerList[i].muzzleLocation; weaponGO.transform.localRotation = Quaternion.identity; // Hook into Logic Module weaponTazer.weaponTazerComponent = weaponGO.GetComponent <WeaponTazerComponent>(); } weaponTazerList.Add(weaponTazer); /*weaponTazerList[i].Initialize(genome.weaponTazerList[i]); * if (isVisible) { * GameObject particleGO = Instantiate(Resources.Load(weaponTazerList[i].GetParticleSystemURL())) as GameObject; * ParticleSystem particle = particleGO.GetComponent<ParticleSystem>(); * ParticleSystem.EmissionModule emission = particle.emission; * emission.enabled = false; * particle.gameObject.transform.parent = weaponTazerList[i].parentBody.transform; * particle.gameObject.transform.localPosition = weaponTazerList[i].muzzleLocation; * particle.gameObject.transform.localRotation = Quaternion.identity; * weaponTazerList[i].particles = particle; // save reference * } */ } }
private void initCampaignDataSources() { #region Assign sensor model references accelerometerModel = new AccelerometerModel { IsSupported = Accelerometer.IsSupported, SensorCount = Accelerometer.Count }; gravityModel = new GravityModel { IsSupported = GravitySensor.IsSupported, SensorCount = GravitySensor.Count }; gyroscopeModel = new GyroscopeModel { IsSupported = Gyroscope.IsSupported, SensorCount = Gyroscope.Count }; hRMModel = new HRMModel { IsSupported = HeartRateMonitor.IsSupported, SensorCount = HeartRateMonitor.Count }; humidityModel = new HumidityModel { IsSupported = HumiditySensor.IsSupported, SensorCount = HumiditySensor.Count }; lightModel = new LightModel { IsSupported = LightSensor.IsSupported, SensorCount = LightSensor.Count }; linearAccelerationModel = new LinearAccelerationModel { IsSupported = LinearAccelerationSensor.IsSupported, SensorCount = LinearAccelerationSensor.Count }; magnetometerModel = new MagnetometerModel { IsSupported = Magnetometer.IsSupported, SensorCount = Magnetometer.Count }; orientationModel = new OrientationModel { IsSupported = OrientationSensor.IsSupported, SensorCount = OrientationSensor.Count }; pressureModel = new PressureModel { IsSupported = PressureSensor.IsSupported, SensorCount = PressureSensor.Count }; proximityModel = new ProximityModel { IsSupported = ProximitySensor.IsSupported, SensorCount = ProximitySensor.Count }; temperatureModel = new TemperatureModel { IsSupported = TemperatureSensor.IsSupported, SensorCount = TemperatureSensor.Count }; ultravioletModel = new UltravioletModel { IsSupported = UltravioletSensor.IsSupported, SensorCount = UltravioletSensor.Count }; #endregion #region Assign sensor references and sensor measurement event handlers if (accelerometerModel.IsSupported) { accelerometer = new Accelerometer(); accelerometer.PausePolicy = SensorPausePolicy.None; accelerometer.Interval = Tools.DEFAULT_SENSOR_SAMPLING_INTERVAL; accelerometer.DataUpdated += storeAccelerometerDataCallback; sensorMap[Tools.ACCELEROMETER] = accelerometer; } if (gravityModel.IsSupported) { gravity = new GravitySensor(); gravity.PausePolicy = SensorPausePolicy.None; gravity.Interval = Tools.DEFAULT_SENSOR_SAMPLING_INTERVAL; gravity.DataUpdated += storeGravitySensorDataCallback; sensorMap[Tools.GRAVITY] = gravity; } if (gyroscopeModel.IsSupported) { gyroscope = new Gyroscope(); gyroscope.PausePolicy = SensorPausePolicy.None; gyroscope.Interval = Tools.DEFAULT_SENSOR_SAMPLING_INTERVAL; gyroscope.DataUpdated += storeGyroscopeDataCallback; sensorMap[Tools.GYROSCOPE] = gyroscope; } if (hRMModel.IsSupported) { hRM = new HeartRateMonitor(); hRM.PausePolicy = SensorPausePolicy.None; hRM.Interval = Tools.DEFAULT_SENSOR_SAMPLING_INTERVAL; hRM.DataUpdated += storeHeartRateMonitorDataCallback; sensorMap[Tools.HRM] = hRM; } if (humidityModel.IsSupported) { humidity = new HumiditySensor(); humidity.PausePolicy = SensorPausePolicy.None; humidity.Interval = Tools.DEFAULT_SENSOR_SAMPLING_INTERVAL; humidity.DataUpdated += storeHumiditySensorDataCallback; sensorMap[Tools.HUMIDITY] = humidity; } if (lightModel.IsSupported) { light = new LightSensor(); light.PausePolicy = SensorPausePolicy.None; light.Interval = Tools.DEFAULT_SENSOR_SAMPLING_INTERVAL; light.DataUpdated += storeLightSensorDataCallback; sensorMap[Tools.LIGHT] = light; } if (linearAccelerationModel.IsSupported) { linearAcceleration = new LinearAccelerationSensor(); linearAcceleration.PausePolicy = SensorPausePolicy.None; linearAcceleration.Interval = Tools.DEFAULT_SENSOR_SAMPLING_INTERVAL; linearAcceleration.DataUpdated += storeLinearAccelerationSensorDataCallback; sensorMap[Tools.LINEARACCELERATION] = linearAcceleration; } if (magnetometerModel.IsSupported) { magnetometer = new Magnetometer(); magnetometer.PausePolicy = SensorPausePolicy.None; magnetometer.Interval = Tools.DEFAULT_SENSOR_SAMPLING_INTERVAL; magnetometer.DataUpdated += storeMagnetometerDataCallback; sensorMap[Tools.MAGNETOMETER] = magnetometer; } if (orientationModel.IsSupported) { orientation = new OrientationSensor(); orientation.PausePolicy = SensorPausePolicy.None; orientation.Interval = Tools.DEFAULT_SENSOR_SAMPLING_INTERVAL; orientation.DataUpdated += storeOrientationSensorDataCallback; sensorMap[Tools.ORIENTATION] = orientation; } if (pressureModel.IsSupported) { pressure = new PressureSensor(); pressure.PausePolicy = SensorPausePolicy.None; pressure.Interval = Tools.DEFAULT_SENSOR_SAMPLING_INTERVAL; pressure.DataUpdated += storePressureSensorDataCallback; sensorMap[Tools.PRESSURE] = pressure; } if (proximityModel.IsSupported) { proximity = new ProximitySensor(); proximity.PausePolicy = SensorPausePolicy.None; proximity.Interval = Tools.DEFAULT_SENSOR_SAMPLING_INTERVAL; proximity.DataUpdated += storeProximitySensorDataCallback; sensorMap[Tools.PROXIMITY] = proximity; } if (temperatureModel.IsSupported) { temperature = new TemperatureSensor(); temperature.PausePolicy = SensorPausePolicy.None; temperature.Interval = Tools.DEFAULT_SENSOR_SAMPLING_INTERVAL; temperature.DataUpdated += storeTemperatureSensorDataCallback; sensorMap[Tools.TEMPERATURE] = temperature; } if (ultravioletModel.IsSupported) { ultraviolet = new UltravioletSensor(); ultraviolet.PausePolicy = SensorPausePolicy.None; ultraviolet.Interval = Tools.DEFAULT_SENSOR_SAMPLING_INTERVAL; ultraviolet.DataUpdated += storeUltravioletSensorDataCallback; sensorMap[Tools.ULTRAVIOLET] = ultraviolet; } #endregion loadCampaignSettings(); }