public void Shine() { GameObject parrySpark = Instantiate(Resources.Load("Prefabs/ParrySpark")) as GameObject; parrySpark.transform.position = transform.position; parrySpark.GetComponent <SpriteRenderer>().color = RPSX.StateColor(myState); }
public void Shine() { GameObject parrySpark = Instantiate(Resources.Load("Prefabs/ParrySpark")) as GameObject; parrySpark.transform.position = transform.position; parrySpark.GetComponent <SpriteRenderer>().color = RPSX.StateColor(myState); SoundManager sm = GameObject.Find("Manager").GetComponent <SoundManager>(); SoundManager.PlaySound(sm.CoinDink); }
//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 virtual void hitPlayer(Player player) { if (!player.Invincible()) { float effectiveKB = baseKnockback; RPS_Result result = RPSX.determineWinner(myState, player.currentState); float knockbackX = (baseKnockbackAngle.x + (stickInputX * KBInfluenceX)) * directionMod; float knockbackY = baseKnockbackAngle.y + (stickInputY * KBInfluenceY); Vector2 effectiveKBA = new Vector2(knockbackX, knockbackY); AudioClip clipToPlay = null; switch (result) { case RPS_Result.Tie: effectiveKB = baseKnockback; clipToPlay = normalHitSound; break; case RPS_Result.Win: effectiveKB = baseKnockback * winKnockbackGrownth; clipToPlay = superHitSound; if (PlayerManager.dizzyTotals[player.playerNum - 1] - dizzyDamage <= 0 && !player.Dizzy()) { SoundManager sm = GameObject.Find("Manager").GetComponent <SoundManager>(); player.impactAudio.PlayOneShot(sm.KOSound); player.loopingAudio.clip = sm.DizzySound; player.loopingAudio.Play(); } PlayerManager.TakeDizzy(dizzyDamage, player.playerNum); break; } if (result != RPS_Result.Loss) { player.TakeHit(effectiveKBA, effectiveKB, result); player.impactAudio.PlayOneShot(clipToPlay); } else { GameObject parrySpark = Instantiate(Resources.Load("Prefabs/ParrySpark")) as GameObject; parrySpark.transform.position = player.gameObject.transform.position; parrySpark.GetComponent <SpriteRenderer>().color = RPSX.StateColor(player.currentState); if (!player.Dizzy()) { player.Parry(effectiveKBA); PlayerManager.RecoverDizzy(dizzyDamage, player.playerNum); } owner.Stagger(effectiveKBA * -1, baseKnockback * 0.5f); } } }
//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); }
void FindPlayers() { RPS_Result result = RPSX.determineWinner(PlayerManager.players[0].currentState, PlayerManager.players[1].currentState); if (result == RPS_Result.Win) { owner = PlayerManager.players[0].transform; opponent = PlayerManager.players[1].transform; sr.color = RPSX.StateColor(PlayerManager.players[0].currentState); } else if (result == RPS_Result.Loss) { owner = PlayerManager.players[1].transform; opponent = PlayerManager.players[0].transform; sr.color = RPSX.StateColor(PlayerManager.players[1].currentState); } else { owner = GreenRoom; } }
// Update is called once per frame void Update() { sr.color = RPSX.StateColor(myState); }