예제 #1
0
 public void SetPoiProperties(PoiSizeType newPoiSize, int newPoiNote, Vector4 newPoiColor, PoiPersonalityType newPoiPersonality)
 {
     poiType       = newPoiSize;
     poiNoteOffset = newPoiNote;
     if (newPoiSize == PoiSizeType.BigPoi)
     {
         poiNoteOffset -= 12;                                   // Lower octave is BigPoi.
     }
     poiPersonalityType = newPoiPersonality;
     poiColor           = newPoiColor;
 }
예제 #2
0
    private void SpawnNewPoi(PiUI.PiData poiNoteData, bool isRandom)
    {
        if (!isRandom)
        {
            if (!isPoiMenuOpen)
            {
                return;
            }

            poiNoteMenu.CloseMenu();
            isPoiMenuOpen = false;
        }
        else
        {
            if (Random.value > 0.5f)
            {
                nextPoiSize = PoiSizeType.BigPoi;
            }
            else
            {
                nextPoiSize = PoiSizeType.SmolPoi;
            }

            float personalityChance = Random.value;
            if (Random.value < 0.3f)
            {
                nextPoiPersonality = PoiPersonalityType.ShiPoi;
            }
            else if (Random.value < 0.6f)
            {
                nextPoiPersonality = PoiPersonalityType.NormiPoi;
            }
            else
            {
                nextPoiPersonality = PoiPersonalityType.FabPoi;
            }

            int randomNoteIndex = (int)Random.Range(0, poiNoteMenu.piData.Length - 0.5f);
            poiNoteData = poiNoteMenu.piData[randomNoteIndex];
        }
        nextPoiNote  = poiNoteData.order;
        nextPoiColor = poiNoteData.highlightedColor;

        poofEffectParticle.Play();
        spawnPoint.GetComponent <AudioSource>().Play();
        GameObject newPoi = Instantiate(poiPrefab, spawnPoint.position, Quaternion.identity);

        newPoi.GetComponent <PoiController>().SetPoiProperties(nextPoiSize, nextPoiNote, nextPoiColor, nextPoiPersonality);
    }
예제 #3
0
    private void ShowPoiNoteMenu(PiUI.PiData poiSizeData)
    {
        if (!Input.GetMouseButtonDown(0))
        {
            return;
        }
        switch (poiSizeData.sliceLabel)
        {
        case ("Big Poi"):
            nextPoiSize = PoiSizeType.BigPoi;
            break;

        case ("Smol Poi"):
            nextPoiSize = PoiSizeType.SmolPoi;
            break;
        }
        poiSizeMenu.CloseMenu();
        poiNoteMenu.OpenMenu(new Vector2(Screen.width / 2f, Screen.height / 2f));
    }