コード例 #1
0
    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);
        }
    }
コード例 #3
0
        // 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);
        }
コード例 #4
0
    // 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;
        }
    }
コード例 #5
0
        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);
                }
            }
        }