void OnTriggerExit2D(Collider2D other) { if (myLevel) { if (tag.Equals("Space") && other.tag.Equals("Stone")) { mySprite.color = new Color(mySprite.color.r, mySprite.color.g, mySprite.color.b, originalOpacity); } if (other.tag.Equals("Space") && tag.Equals("Stone")) { intersectingSpace = null; } } }
void OnTriggerEnter2D(Collider2D other) { if (myLevel) { if (tag.Equals("Space") && other.tag.Equals("Stone")) { } if (tag.Equals("Space") && other.tag.Equals("Stone") && myLevel.canModifyStone(index)) { mySprite.color = new Color(mySprite.color.r, mySprite.color.g, mySprite.color.b, originalOpacity + 0.4f); } if (other.tag.Equals("Space") && tag.Equals("Stone")) { intersectingSpace = other.GetComponent <stoneBehavior>(); } } }
public GameObject spawnHighlightAt(stoneBehavior[] stones, int index, Vector3 deltaPosition) { Vector3 spawnPos = getFloorOrigin() + deltaPosition; GameObject go; go = Instantiate(highlightPrefab, spawnPos, Quaternion.Euler(0, 0, 0)); go.transform.parent = currFloor.transform; stoneBehavior s = go.GetComponent <stoneBehavior>(); if (stones[index] && s) { stones[index] = s; } s.index = index; s.myLevel = gameController.getCurrLevel(); s.note = 0; return(go); }
public void spawnStoneMouse() { if (currSpawnedStone != null) { Destroy(currSpawnedStone); } InSceneLevel.levelType t = gameController.getCurrLevel().type; Vector3 pos = cam.ScreenToWorldPoint(Input.mousePosition); GameObject go = null; switch (t) { case InSceneLevel.levelType.DRUM: go = Instantiate(drumCubes[Random.Range(0, drumCubes.Length)], pos, Quaternion.Euler(t != InSceneLevel.levelType.BASS ? new Vector3(0, 0, Random.Range(-angleNoise, angleNoise)) : Vector3.zero)); break; case InSceneLevel.levelType.PAD: go = Instantiate(padCrystals[Random.Range(0, padCrystals.Length)], pos, Quaternion.Euler(t != InSceneLevel.levelType.BASS ? new Vector3(0, 0, Random.Range(-angleNoise, angleNoise)) : Vector3.zero)); break; case InSceneLevel.levelType.BASS: go = Instantiate(bassStones[Random.Range(0, bassStones.Length)], pos, Quaternion.Euler(t != InSceneLevel.levelType.BASS ? new Vector3(0, 0, Random.Range(-angleNoise, angleNoise)) : Vector3.zero)); break; case InSceneLevel.levelType.GUITAR: go = Instantiate(branchRocks[Random.Range(0, branchRocks.Length)], pos, Quaternion.Euler(t != InSceneLevel.levelType.BASS ? new Vector3(0, 0, Random.Range(-angleNoise, angleNoise)) : Vector3.zero)); break; } go.transform.parent = currFloor.transform; stoneBehavior s = go.GetComponent <stoneBehavior>(); s.myLevel = gameController.getCurrLevel(); currSpawnedStone = go; }
private IEnumerator spawnStoneCoroutine(stoneBehavior[] stones, int index, InSceneLevel.levelType type, Vector3 deltaPosition, Vector3 rotation, int note, bool mouseDrag) { Vector3 spawnPos = getFloorOrigin() + deltaPosition, deltaUp = new Vector3(0, 40, 0); GameObject go = null; if (note != 0) { switch (type) { case InSceneLevel.levelType.DRUM: if (note != -1) { spawnPos += new Vector3(0, notesOffsetY[note], 0); } go = Instantiate(drumCubes[Random.Range(0, drumCubes.Length)], spawnPos + deltaUp, Quaternion.Euler(rotation)); break; case InSceneLevel.levelType.PAD: if (note != -1) { spawnPos += new Vector3(0, notesOffsetY[note], 0); } go = Instantiate(padCrystals[Random.Range(0, padCrystals.Length)], spawnPos + deltaUp, Quaternion.Euler(rotation)); break; case InSceneLevel.levelType.BASS: if (note != -1) { spawnPos += new Vector3(0, notesOffsetY[note], 0); } go = Instantiate(bassStones[Random.Range(0, bassStones.Length)], spawnPos + deltaUp, Quaternion.Euler(rotation)); break; case InSceneLevel.levelType.GUITAR: if (note != -1) { spawnPos += new Vector3(0, notesOffsetY[note], 0); } go = Instantiate(branchRocks[Random.Range(0, branchRocks.Length)], spawnPos + deltaUp, Quaternion.Euler(rotation)); break; } go.transform.parent = currFloor.transform; if (mouseDrag) { currSpawnedStone = go; } yield return(StartCoroutine(Global.moveToInSecs(go, spawnPos, 0.5f))); } else { //space, generate hint highlight prefab go = Instantiate(highlightPrefab, spawnPos, Quaternion.Euler(0, 0, 0)); go.transform.parent = currFloor.transform; SpriteRenderer spr = go.transform.GetChild(0).GetComponent <SpriteRenderer>(); StartCoroutine(Global.brieflyChangeColor(spr.color, new Color(250, 130, 0, spr.color.a), spr, 0.4f)); } stoneBehavior s = go.GetComponent <stoneBehavior>(); stones[index] = s; s.index = index; s.myLevel = gameController.getCurrLevel(); s.note = note; }