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; }
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); }
private void ShowPoiSizeMenu(PiUI.PiData poiPersonalityData) { if (!Input.GetMouseButtonDown(0)) { return; } switch (poiPersonalityData.sliceLabel) { case ("Shi Poi"): nextPoiPersonality = PoiPersonalityType.ShiPoi; break; case ("Normi Poi"): nextPoiPersonality = PoiPersonalityType.NormiPoi; break; case ("Fab Poi"): nextPoiPersonality = PoiPersonalityType.FabPoi; break; } poiPersonalityMenu.CloseMenu(); poiSizeMenu.OpenMenu(new Vector2(Screen.width / 2f, Screen.height / 2f)); }