예제 #1
0
    private void ChangeSwordParticles(PlayerStanceType value)
    {
        switch (value)
        {
        case PlayerStanceType.STANCE_NONE:
            swordBlueOrb.SetActive(false);
            swordBlueLine.SetActive(false);
            swordRedOrb.SetActive(false);
            swordRedLine.SetActive(false);
            swordEmitter.ChangeMaterial(0);
            shieldEmitter.ChangeMaterial(0);
            currentHeavyAttackParticles = greyHeavyAttackParticles;
            break;

        case PlayerStanceType.STANCE_BLUE:
            swordBlueOrb.SetActive(true);
            swordBlueLine.SetActive(true);
            swordRedOrb.SetActive(false);
            swordRedLine.SetActive(false);
            swordEmitter.ChangeMaterial(1);
            shieldEmitter.ChangeMaterial(1);
            currentHeavyAttackParticles = blueHeavyAttackParticles;
            break;

        case PlayerStanceType.STANCE_RED:
            swordBlueOrb.SetActive(false);
            swordBlueLine.SetActive(false);
            swordRedOrb.SetActive(true);
            swordRedLine.SetActive(true);
            swordEmitter.ChangeMaterial(2);
            shieldEmitter.ChangeMaterial(2);
            currentHeavyAttackParticles = redHeavyAttackParticles;
            break;
        }
    }
예제 #2
0
    public void ChangeStance(PlayerStanceType typeStance)
    {
        switch (typeStance)
        {
        case PlayerStanceType.STANCE_NONE:
            this.stance  = stances[typeStance];
            currentStats = baseStats;
            ChangeSwordParticles(typeStance);
            ChangeEmissives(typeStance);
            break;

        case PlayerStanceType.STANCE_BLUE:
            if (greyAbilityEnabled)
            {
                this.stance  = stances[typeStance];
                currentStats = baseStats * blueStats;
                ChangeSwordParticles(typeStance);
                ChangeEmissives(typeStance);
            }
            break;

        case PlayerStanceType.STANCE_RED:
            if (redAbilityEnabled)
            {
                this.stance  = stances[typeStance];
                currentStats = baseStats * redStats;
                ChangeSwordParticles(typeStance);
                ChangeEmissives(typeStance);
            }
            break;
        }
        uiManager.UpdatePlayerStance(stance);
    }
예제 #3
0
    public PlayerStanceType SpecialAttackToPerform()
    {
        PlayerStanceType ret = PlayerStanceType.STANCE_NONE;

        canSpecialAttack = false;
        if (stance.type != PlayerStanceType.STANCE_NONE && CanLoseEnergy(1))
        {
            canSpecialAttack = true;
            ret = stance.type;
        }

        return(ret);
    }
예제 #4
0
    private void ChangeEmissives(PlayerStanceType value)
    {
        switch (value)
        {
        case PlayerStanceType.STANCE_NONE:
            baseMat.SetTexture("_EmissionMap", baseGrey);
            extraMat.SetTexture("_EmissionMap", extraGrey);
            shieldMat.SetTexture("_EmissionMap", shieldGrey);
            break;

        case PlayerStanceType.STANCE_BLUE:
            baseMat.SetTexture("_EmissionMap", baseBlue);
            extraMat.SetTexture("_EmissionMap", extraBlue);
            shieldMat.SetTexture("_EmissionMap", shieldBlue);
            break;

        case PlayerStanceType.STANCE_RED:
            baseMat.SetTexture("_EmissionMap", baseRed);
            extraMat.SetTexture("_EmissionMap", extraRed);
            shieldMat.SetTexture("_EmissionMap", shieldRed);
            break;
        }
    }
예제 #5
0
 public PlayerStance(PlayerStanceType type, PlayerPassiveStatsRelative stats)
 {
     this.type  = type;
     this.stats = stats;
 }