void RouletteHandler() { if (Spinning) { currentRouletteTimer += Time.deltaTime; spinTransitionTimer++; if (spinTransitionTimer >= spinTransitionTime) { if (EmblemIndex == 2) { EmblemIndex = 0; } else { EmblemIndex++; } spinTransitionTimer = 0; } if (currentRouletteTimer > rouletteTimer) { currentRouletteTimer = 0; spinTransitionTimer = 0; Spinning = false; MyState = QueuedState; QueuedState = RPS_State.Basic; } } }
public void TurnOff() { MyState = RPS_State.Basic; foreach (SpriteRenderer sr in colorChangers) { sr.DOColor(RPSX.normalWalls, .3f); } Emblem.color = Color.clear; body.DOColor(Color.white, .3f); }
public static RPS_Result determineWinner(RPS_State hero, RPS_State villian) { RPS_Result result = RPS_Result.Tie; if (hero == RPS_State.Basic && villian != RPS_State.Basic) { result = RPS_Result.Loss; } if (hero != RPS_State.Basic && villian == RPS_State.Basic) { result = RPS_Result.Win; } if (hero == villian) { result = RPS_Result.Tie; } if (hero == RPS_State.Rock) { if (villian == RPS_State.Paper) { result = RPS_Result.Loss; } if (villian == RPS_State.Scissors) { result = RPS_Result.Win; } } if (hero == RPS_State.Paper) { if (villian == RPS_State.Rock) { result = RPS_Result.Win; } if (villian == RPS_State.Scissors) { result = RPS_Result.Loss; } } if (hero == RPS_State.Scissors) { if (villian == RPS_State.Rock) { result = RPS_Result.Loss; } if (villian == RPS_State.Paper) { result = RPS_Result.Win; } } return(result); }
//RPS Controls public void ChangeRPSState(RPS_State rps) { currentState = rps; timeInState = 0; int frame = 0; if (rps == RPS_State.Scissors) { frame = 3; rpsColor = RPSX.scissorsColor; faded = RPSX.scissorsColorFaded; dark = RPSX.scissorsColorDark; } else if (rps == RPS_State.Rock) { frame = 1; rpsColor = RPSX.rockColor; faded = RPSX.rockColorFaded; dark = RPSX.rockColorDark; } else if (rps == RPS_State.Paper) { frame = 2; rpsColor = RPSX.paperColor; faded = RPSX.paperColorFaded; dark = RPSX.paperColorDark; } else { frame = 0; rpsColor = RPSX.basicColor; faded = RPSX.basicColorFaded; dark = RPSX.basicColorDark; } if (rps != RPS_State.Basic) { GameObject rpsEffect = Instantiate(Resources.Load("Prefabs/RPS_Effect")) as GameObject; rpsEffect.transform.position = transform.position; rpsEffect.GetComponent <SpriteRenderer>().color = RPSX.StateColor(rps); rpsEffect.GetComponent <RPSEffect>().state = rps; actionAudio.PlayOneShot(sounds.StateChangeSound); } foreach (SpriteMeshInstance mesh in meshes) { mesh.color = rpsColor; } sign.frame = frame; emblem.frame = frame; }
public void SpawnToken(RPS_State state, int previousSlot) { GameObject newToken = Instantiate(Resources.Load("Prefabs/Token")) as GameObject; Coin coin = newToken.GetComponent <Coin>(); coin.myState = state; coin.manager = this; int rando = Random.Range(0, availableSlots.Count); int locationIndex = availableSlots[rando]; coin.mySlot = locationIndex; availableSlots.Remove(locationIndex); newToken.transform.position = possibleTokenLocations[locationIndex]; if (previousSlot < possibleTokenLocations.Length + 1) { availableSlots.Add(previousSlot); } }
//Functionality for bursts void Burst(RPS_State state) { IFrames = 0; PlayerManager.Undizzy(playerNum); loopingAudio.Stop(); if (Graced()) { PlayerManager.graceTimers[playerNum - 1] = PlayerManager.maxGraceFrames; } ChangeRPSState(state); burstComponent.myState = currentState; burstComponent.playersHit.Clear(); burstComponent.owner = this; GameObject parrySpark = Instantiate(Resources.Load("Prefabs/ParrySpark")) as GameObject; parrySpark.transform.position = transform.position; parrySpark.GetComponent <SpriteRenderer>().color = RPSX.StateColor(currentState); anim.SetTrigger("Burst"); actionAudio.PlayOneShot(sounds.BurstSound); }
public static Color StateColor(RPS_State state) { Color result = Color.white; switch (state) { case RPS_State.Basic: result = basicColor; break; case RPS_State.Rock: result = rockColor; break; case RPS_State.Paper: result = paperColor; break; case RPS_State.Scissors: result = scissorsColor; break; } return(result); }
public void StartRoutlette(RPS_State state) { Spinning = true; QueuedState = state; }