Exemplo n.º 1
0
    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;
            }
        }
    }
Exemplo n.º 2
0
 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);
 }
Exemplo n.º 3
0
    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);
    }
Exemplo n.º 4
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;
    }
Exemplo n.º 5
0
    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);
        }
    }
Exemplo n.º 6
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);
    }
Exemplo n.º 7
0
    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);
    }
Exemplo n.º 8
0
 public void StartRoutlette(RPS_State state)
 {
     Spinning    = true;
     QueuedState = state;
 }