Beispiel #1
0
    public void Shine()
    {
        GameObject parrySpark = Instantiate(Resources.Load("Prefabs/ParrySpark")) as GameObject;

        parrySpark.transform.position = transform.position;
        parrySpark.GetComponent <SpriteRenderer>().color = RPSX.StateColor(myState);
    }
Beispiel #2
0
    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);
    }
Beispiel #3
0
    //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;
    }
Beispiel #4
0
    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);
            }
        }
    }
Beispiel #5
0
    //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);
    }
Beispiel #6
0
    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;
        }
    }
Beispiel #7
0
 // Update is called once per frame
 void Update()
 {
     sr.color = RPSX.StateColor(myState);
 }