public void getMellowInput(OscMessage oscMessage) { OscMessage m = oscMessage; // Debug.Log (m.Address); Osc.OscMessageToString(m); if (m.Address == "/muse/elements/experimental/mellow") { mellowValue = (float)(m.Values [0]); } if (m.Address == "/muse/elements/touching_forehead") { touchingForehead = (int)(m.Values [0]); } if (m.Address == "/muse/batt") { batteryPercentage = (int)(m.Values [0]); batteryPercentage = CustomFunc.Map(batteryPercentage, 0, 10000, 0, 100); } if (m.Address == "/muse/elements/blink") { blink = (int)m.Values [0]; } // Osc.OscMessageToString(oscMessage); // mellowValue = (float)(oscMessage.Values[0]); // Debug.Log("mellow: " + inputData ); }
/// <summary> /// Decreased health by damage and scales healthbar /// </summary> public void TakeDamage(float damage) { health -= damage; float mappedHealth = CustomFunc.Remap(health, 0, 100, 0, 1); healthBar.transform.localScale = new Vector3(mappedHealth, healthBar.transform.localScale.y, 0); if (health <= 0) { gameOverText.text = "Defeat.."; gameOverPanel.SetActive(true); Destroy(gameObject); } }
// because Projectile.HandleDamageResult is protected, this hook can't be public private static Projectile.HandleDamageResult HandleDamageHook(CustomFunc <Projectile, SpeculativeRigidbody, PixelCollider, bool, PlayerController, bool, Projectile.HandleDamageResult> orig, Projectile self, SpeculativeRigidbody rigidbody, PixelCollider hitPixelCollider, out bool killedTarget, PlayerController player, bool alreadyPlayerDelayed) { bool wasAlive = rigidbody && rigidbody.healthHaver && rigidbody.healthHaver.IsAlive; if (OnPreDidDamage != null) { OnPreDidDamage.Invoke(self, rigidbody, wasAlive); } var ret = orig(self, rigidbody, hitPixelCollider, out killedTarget, player, alreadyPlayerDelayed); if (OnPostDidDamage != null) { OnPostDidDamage.Invoke(self, rigidbody, wasAlive); } return(ret); }
// Update is called once per frame void Update() { eegReading = oscReceiver.mellowValue; levelBar.GetComponent <RectTransform>().sizeDelta = new Vector2(eegReading * 100, 10); touchingForehead = oscReceiver.touchingForehead; if (touchingForehead == 1) { oceanScale = (CustomFunc.Map(eegReading, 1, 0, minOceanScale, maxOceanScale) - oceanScale) * incrementArg + oceanScale; waveSpeed = (CustomFunc.Map(eegReading, 1, 0, minWaveSpeed, maxWaveSpeed) - waveSpeed) * waveSpeedIncrementArg + waveSpeed; sensorConnectionStatus.GetComponent <Text>().text = "Sensor Wearing: YES"; } else { oceanScale = (defaultOceanScale - oceanScale) * incrementArg + oceanScale; waveSpeed = (defaultWaveSpeed - waveSpeed) * waveSpeedIncrementArg + waveSpeed; sensorConnectionStatus.GetComponent <Text>().text = "Sensor Wearing: NO"; } oceanScale = Mathf.Clamp(oceanScale, minOceanScale, maxOceanScale); waveSpeed = Mathf.Clamp(waveSpeed, minWaveSpeed, maxWaveSpeed); vol = CustomFunc.Map(oceanScale, minOceanScale, maxOceanScale, minVol, maxVol); vol = Mathf.Clamp(vol, minVol, maxVol); AudioListener.volume = vol; if (controllingWaves) { myOcean.scale = oceanScale; myOcean.speed = waveSpeed; } }
public static IEnumerable <TResult> WhereSelect <T, TResult>(this IEnumerable <T> collection, CustomFunc <T, TResult, bool> predicate) { TResult result = default(TResult); foreach (T item in collection) { if (predicate(item, out result)) { yield return(result); } } }