public void OnTriggerEnter(Collider other) { if (waterBody == null) { Debug.LogError("waterbody null", this); } WaterSensor component = other.gameObject.GetComponent <WaterSensor>(); if (component != null) { component.OnEnterBody(waterBody); sensors.Add(component); } else { if (!respawnNetBody || NetGame.isClient) { return; } NetBody component2 = other.gameObject.GetComponent <NetBody>(); if (component2 != null && component2.respawn) { MeshFilter component3 = other.gameObject.GetComponent <MeshFilter>(); if (component3 != null) { RespawnAdd(component2); } } } }
private void Start() { ragdoll = human.ragdoll; waterSensor = base.gameObject.AddComponent <WaterSensor>(); Shell.RegisterCommand("smooth", OnCameraSmooth, "smooth <smoothing>\r\nSet camera smoothing amount (0-none, 0.5-default, 1-max)"); Shell.RegisterCommand("fov", OnFOV, "fov <fov_adjust>\r\nSet FOV adjust (-10 - narrow, 0 - default, 30 - wide)"); Shell.RegisterCommand("hdr", OnHDR, "hdr\r\nToggle high dynamic range"); }
public void OnTriggerExit(Collider other) { WaterSensor component = other.gameObject.GetComponent <WaterSensor>(); if (component != null) { component.OnLeaveBody(waterBody); sensors.Remove(component); } }
private void Start() { body = GetComponent <Rigidbody>(); ChangeSharkState(m_State); if (sensor == null) { sensor = GetComponentInChildren <WaterSensor>(); } parts = GetComponentsInChildren <FloatingMesh1>(); startingDir = m_Tail[m_Tail.Length - 1].transform.forward; }
private void Start() { if (showDebug) { Debug.Log(base.name + " Started "); } index = counter++; body = GetComponent <Rigidbody>(); if (body == null) { throw new InvalidOperationException("Floater needs a Rigidbody"); } if (hull == null) { hull = GetComponentInChildren <Collider>(); } if (hull == null) { throw new InvalidOperationException("MeshCollider"); } sensor = hull.GetComponent <WaterSensor>(); if (sensor == null) { sensor = hull.gameObject.AddComponent <WaterSensor>(); } if (mesh == null && hull is MeshCollider) { mesh = (hull as MeshCollider).sharedMesh; } triangles = mesh.triangles; meshVertices = mesh.vertices; List <Vector3> list = new List <Vector3>(); for (int i = 0; i < triangles.Length; i++) { Vector3 item = meshVertices[triangles[i]]; int num = list.IndexOf(item); if (num < 0) { num = list.Count; list.Add(item); } triangles[i] = num; } meshVertices = list.ToArray(); for (int j = 0; j < meshVertices.Length; j++) { meshVertices[j] = base.transform.InverseTransformPoint(hull.transform.TransformPoint(meshVertices[j])); } vertices = new FloatingVertex[meshVertices.Length]; }
public void OnDisable() { for (int i = 0; i < sensors.Count; i++) { sensors[i].OnLeaveBody(waterBody); } sensors.Clear(); if (NetGame.isClient) { cameraController = null; cameraWaterSensor = null; colliders = null; } }
private void OnEnable() { if (waterBody == null) { waterBody = GetComponentInParent <WaterBody>(); } if (NetGame.isClient) { cameraController = Object.FindObjectOfType <CameraController3>(); cameraWaterSensor = cameraController.gameObject.GetComponent <WaterSensor>(); oldCameraPosition = cameraController.transform.position; colliders = GetComponents <Collider>(); } }
public MainController(ICoffeeMakerApi cofeeMakerApi, IBoilerApi boilerApi) { var boiler = new BoilerController(boilerApi); var makeCoffeeButton = new MakeCoffeeButton(cofeeMakerApi); var waterSensor = new WaterSensor(cofeeMakerApi); _pump = new Pump(cofeeMakerApi); _cupSizeSelector = new CupSizeSelector(cofeeMakerApi); _volumetricSensor = new VolumetricSensor(cofeeMakerApi); _readyLamp = new ReadyLamp(cofeeMakerApi); _boilerIsReady = boiler.BoilerIsReady; _waterTankIsFull = waterSensor.IsWaterTankFull(); _volumetricSensor.Done += StopPourCoffee; makeCoffeeButton.ButtonPressed += StartPourCoffee; waterSensor.WaterTaankStatusChanged += OnWaterSensorWaterTaankStatusChanged; boiler.BoilerStatusChanged += OnBoilerStatusChanged; CheckReadyLamp(); }
public static void Main(string[] args) { Writer writer = new Writer(); WaterSensor sensor = new WaterSensor(); sensor.NewReading(false); sensor.Apply(40, writer); sensor.FailedReading(); sensor.Apply(10, writer); sensor.FailedReading(); sensor.Apply(10, writer); sensor.FailedReading(); sensor.Apply(10, writer); sensor.NewReading(true); sensor.Apply(10, writer); sensor.NewReading(false); sensor.Apply(50, writer); }
public void WaterSensor_FromDynamic_ShouldReturnExpectedResult(InstalledAppInstance installedApp) { var expectedResult = new WaterSensor() { Id = Guid.NewGuid().ToString(), Label = "MyDevice", CurrentState = WaterState.Dry }; var deviceJson = $@"{{ ""deviceId"": ""{expectedResult.Id}"", ""name"": ""NAME"", ""label"": ""{expectedResult.Label}"", ""locationId"": ""{installedApp.InstalledLocation.Id}"" }}"; var statusJson = $@"{{ ""deviceId"": ""{expectedResult.Id}"", ""name"": ""NAME"", ""label"": ""{expectedResult.Label}"", ""locationId"": ""{installedApp.InstalledLocation.Id}"", ""components"" : {{ ""main"": {{ ""waterSensor"": {{ ""water"": {{ ""value"": ""dry"" }} }} }} }} }}"; dynamic device = JObject.Parse(deviceJson); dynamic status = JObject.Parse(statusJson); var result = WaterSensor.WaterSensorFromDynamic(device, status); Assert.Equal(expectedResult, result); expectedResult.CurrentState = WaterState.Wet; statusJson = $@"{{ ""deviceId"": ""{expectedResult.Id}"", ""name"": ""NAME"", ""label"": ""{expectedResult.Label}"", ""locationId"": ""{installedApp.InstalledLocation.Id}"", ""components"" : {{ ""main"": {{ ""waterSensor"": {{ ""water"": {{ ""value"": ""wet"" }} }} }} }} }}"; status = JObject.Parse(statusJson); result = WaterSensor.WaterSensorFromDynamic(device, status); Assert.Equal(expectedResult, result); expectedResult.CurrentState = WaterState.Unknown; statusJson = $@"{{ ""deviceId"": ""{expectedResult.Id}"", ""name"": ""NAME"", ""label"": ""{expectedResult.Label}"", ""locationId"": ""{installedApp.InstalledLocation.Id}"", ""components"" : {{ ""main"": {{ ""waterSensor"": {{ ""water"": {{ ""value"": ""unknown"" }} }} }} }} }}"; status = JObject.Parse(statusJson); result = WaterSensor.WaterSensorFromDynamic(device, status); Assert.Equal(expectedResult, result); _ = expectedResult.GetHashCode(); _ = expectedResult.ToJson(); }
private void InitGPIO() { _waterSensor = new WaterSensor(); }