예제 #1
0
    public void ProcessWord(WordDataManager.WordData wordData)
    {
        rotateSpeed += wordData.word.Length * 0f;

        for (int i = 0; i < wordData.word.Length; i++)
        {
        }
    }
예제 #2
0
    void makeCloud(WordDataManager.WordData wordData)
    {
        cloudMove.speed = (wordData.volume + .1f) * 10f;
        float      scaleMult  = wordData.volume + 1f;
        Vector3    cloudSpawn = new Vector3(-30, Random.Range(3.6f, 5.5f), Random.Range(25, 40));
        GameObject newCloud   = (GameObject)Instantiate(cloud, cloudSpawn, Quaternion.identity);

        newCloud.transform.localScale = new Vector3(newCloud.transform.localScale.x * scaleMult,
                                                    newCloud.transform.localScale.y * scaleMult,
                                                    newCloud.transform.localScale.z * scaleMult);
    }
예제 #3
0
 public void ProcessWord(WordDataManager.WordData wordData)
 {
     if (cooldownTimer < cooldownTime)
     {
         return;
     }
     currentPower      += 0.01f;
     currentPower      *= 1 + (wordData.word.Length * powerIncreaseFactor) * Time.deltaTime;
     currentPower       = Mathf.Clamp01(currentPower);
     targetNoiseScale   = MyMath.Map(wordData.volume, 0f, 1f, 50f, 400f);
     powerDecreaseTimer = 0f;
     cooldownTimer      = 0f;
 }
예제 #4
0
    void makeTextMesh(WordDataManager.WordData wordData)
    {
        Vector3 spawnLocation = new Vector3(Random.Range(-10, 20), Random.Range(-1f, 1f), 0);

        GameObject newAnimal = (GameObject)Instantiate(textAnimal, spawnLocation, Quaternion.identity);

        newAnimal.GetComponent <TextMeshPro>().text  = wordData.word;
        newAnimal.GetComponent <TextMeshPro>().color = wordData.colorValue;
        if (wordData.colorValue.a == 0)
        {
            newAnimal.GetComponent <TextMeshPro>().color = new Color(Random.value, Random.value, Random.value, 1);
        }
        newAnimal.transform.localScale = new Vector3(newAnimal.transform.localScale.x * wordData.volume + .5f,
                                                     newAnimal.transform.localScale.y * wordData.volume + .5f,
                                                     newAnimal.transform.localScale.z * wordData.volume + .5f);
    }
예제 #5
0
    IEnumerator Sequence(WordDataManager.WordData data)
    {
        // Choose random spot on screen
        Vector3 newPosition = new Vector3(Random.Range(-maxXPos, maxXPos), Random.Range(-maxYPos, maxYPos), zPosition);

        transform.position = newPosition;

        // Apply light color
        m_PointLight.color = data.colorValue;

        // Set text
        if (applyColorToWord)
        {
            m_TextMesh.color = data.colorValue;
        }
        m_TextMesh.text = data.word.ToUpper();
        textMeshAlpha   = 0f;

        if (dontDoAnything)
        {
            yield break;
        }

        // Tween to max light intensity
        float duration = 0.1f;

        m_PointLight.DOIntensity(MyMath.Map(data.volume, 0f, 1f, 0f, maxLightIntensity), duration);
        DOTween.To(() => textMeshAlpha, x => textMeshAlpha = x, 1, duration);
        yield return(new WaitForSeconds(duration));

        // Wait for a moment at maximum intensity
        duration = 0.1f;
        yield return(new WaitForSeconds(duration));

        // Tween back down to min
        duration = fadeTime;
        m_PointLight.DOIntensity(0f, duration);
        DOTween.To(() => textMeshAlpha, x => textMeshAlpha = x, 0, duration);
        yield return(new WaitForSeconds(duration));

        Destroy(gameObject);

        yield return(null);
    }
예제 #6
0
    /*
     *
     * void spawnSpecialDeer(){
     *
     *
     *     deerTimer += Time.deltaTime;
     *
     *     if (deerTimer >= 5){
     *         deerSpawned = false;
     *     }
     *
     *     if (!deerSpawned)
     *     {
     *         Vector3 spawnLocationSmall = new Vector3(Random.Range(-30, 26), Random.Range(-4, -3f), 2.3f);
     *         GameObject newDeer = (GameObject)Instantiate(specialDeer, spawnLocationSmall, Quaternion.identity);
     *         deerTimer = 0;
     *         deerSpawned = true;
     *     }
     *
     * }
     */

    void getDummy()
    {
        silenceTimer = 0;

        WordDataManager.WordData wordData = new WordDataManager.WordData();
        if (wordData.colorType == WordDataManager.WordData.ColorType.None)
        {
        }

        //new background color from data
        //mainCam.backgroundColor = new Color(wordData.colorValue.r + wordData.volume, wordData.colorValue.g +
        //  wordData.volume, wordData.colorValue.b + wordData.volume, wordData.volume * .5f);
        //make new thingy
        makeTextMesh(wordData);
        makePlant(wordData);
        //do color grading
        colorGrading();
        makeCloud(wordData);
        wordCount++;
    }
예제 #7
0
    public void ProcessWord(WordDataManager.WordData wordData)
    {
        if (wordData.colorType != WordDataManager.WordData.ColorType.None)
        {
            Color gridLightColor = wordData.colorValue;
            float hue;
            float sat;
            float val;
            Color.RGBToHSV(gridLightColor, out hue, out sat, out val);
            hue = MyMath.Wrap01(hue + 0.5f);
            sat = Mathf.Clamp01(sat + 0.5f);
            val = Mathf.Clamp01(val + 0.5f);

            objectLightTargetColor     = Color.HSVToRGB(hue, sat, val);
            backgroundLightTargetColor = wordData.colorValue;
        }

        if (lastSpawnedObject != null)
        {
            //if (lastSpawnedObject.GetComponent<VertexModifier>().currentPower >= spawnTriggerSpeed) {
            //SpawnObject();
            //}
        }
    }
예제 #8
0
    void makePlant(WordDataManager.WordData wordData)
    {
        Vector3 spawnLocationSmall = new Vector3(Random.Range(-30, 26), Random.Range(-4, -3f), 2.3f);
        Vector3 spawnLocationTree  = new Vector3(Random.Range(-30, 26), Random.Range(-4, -3.2f), Random.Range(10, 35));
        Vector3 randRotate         = new Vector3(0, Random.Range(0, 360), 0);
        float   scaleMult          = wordData.volume + .5f;

        //set plant type based on word length
        if (wordData.word.Length < 5)
        {
            plantPick = Random.Range(0, 2);
        }

        else if (wordData.word.Length >= 5)
        {
            plantPick = Random.Range(2, 5);
        }
        //spawn plant according to plantpick
        if (plantPick == 0)
        {
            GameObject newPlant = (GameObject)Instantiate(sprout, spawnLocationSmall, Quaternion.Euler(randRotate));
            newPlant.GetComponent <MeshRenderer>().material.color = wordData.colorValue;
            Color emissionColor = new Color(Random.value, Random.value, Random.value);
            newPlant.GetComponent <MeshRenderer>().material.SetColor("_EmissionColor", emissionColor);
            newPlant.transform.localScale = new Vector3(newPlant.transform.localScale.x * scaleMult,
                                                        newPlant.transform.localScale.y * scaleMult,
                                                        newPlant.transform.localScale.z * scaleMult);
        }
        else if (plantPick == 1)
        {
            GameObject newPlant = (GameObject)Instantiate(fronds, new Vector3(spawnLocationSmall.x, spawnLocationSmall.y - 6,
                                                                              spawnLocationSmall.z), Quaternion.Euler(randRotate));
            newPlant.GetComponentInChildren <MeshRenderer>().material.color = wordData.colorValue;
            Color emissionColor = new Color(Random.value, Random.value, Random.value);
            newPlant.GetComponentInChildren <MeshRenderer>().material.SetColor("_EmissionColor", emissionColor);
            newPlant.transform.localScale = new Vector3(newPlant.transform.localScale.x * scaleMult,
                                                        newPlant.transform.localScale.y * scaleMult,
                                                        newPlant.transform.localScale.z * scaleMult);
        }
        else if (plantPick == 2)
        {
            GameObject newPlant = (GameObject)Instantiate(tree1, spawnLocationTree, Quaternion.Euler(randRotate));
            newPlant.GetComponent <MeshRenderer>().material.color = wordData.colorValue;
            Color emissionColor = new Color(Random.value, Random.value, Random.value);
            newPlant.GetComponent <MeshRenderer>().material.SetColor("_EmissionColor", emissionColor);
            newPlant.transform.localScale = new Vector3(newPlant.transform.localScale.x * scaleMult,
                                                        newPlant.transform.localScale.y * scaleMult,
                                                        newPlant.transform.localScale.z * scaleMult);
        }
        else if (plantPick == 3)
        {
            GameObject newPlant = (GameObject)Instantiate(tree2, spawnLocationTree, Quaternion.Euler(randRotate));
            newPlant.GetComponent <MeshRenderer>().material.color = wordData.colorValue;
            Color emissionColor = new Color(Random.value, Random.value, Random.value);
            newPlant.GetComponent <MeshRenderer>().material.SetColor("_EmissionColor", emissionColor);
            newPlant.transform.localScale = new Vector3(newPlant.transform.localScale.x * scaleMult,
                                                        newPlant.transform.localScale.y * scaleMult,
                                                        newPlant.transform.localScale.z * scaleMult);
        }
        else if (plantPick == 4)
        {
            GameObject newPlant = (GameObject)Instantiate(treeTall, spawnLocationTree, Quaternion.Euler(randRotate));
            newPlant.GetComponent <MeshRenderer>().material.color = wordData.colorValue;
            Color emissionColor = new Color(Random.value, Random.value, Random.value);
            newPlant.GetComponent <MeshRenderer>().material.SetColor("_EmissionColor", emissionColor);
            newPlant.transform.localScale = new Vector3(newPlant.transform.localScale.x * scaleMult,
                                                        newPlant.transform.localScale.y * scaleMult,
                                                        newPlant.transform.localScale.z * scaleMult);
        }
    }
예제 #9
0
 public void Activate(WordDataManager.WordData data)
 {
     StartCoroutine(Sequence(data));
 }