예제 #1
0
 // Start is called before the first frame update
 void Start()
 {
     if (m_eDamageType == 0)
     {
         m_eDamageType = (InsultDamageType)Random.Range(1, 4);
     }
 }
예제 #2
0
    public void TakeDamage(InsultDamageType damagetype)
    {
        switch (damagetype)
        {
        case InsultDamageType.NO_INSULT_GIVEN:
        case InsultDamageType.NO_EFFECT:
            //nothing
            FindObjectOfType <AudioManager>().PlaySoundByName("NoEffectHit");
            break;

        case InsultDamageType.MILDLY_EFFECTIVE:
            SpriteReference.sprite = AngryPose;
            m_fCurrentConfidence  -= 10.0f;
            FindObjectOfType <AudioManager>().PlaySoundByName("NotVeryEffectiveHit");
            break;

        case InsultDamageType.EFFECTIVE:
            SpriteReference.sprite = AngryPose;
            m_fCurrentConfidence  -= 20.0f;
            FindObjectOfType <AudioManager>().PlaySoundByName("EffectiveHit");
            break;

        case InsultDamageType.SUPER_EFFECTIVE:
            SpriteReference.sprite = AngryPose;
            FindObjectOfType <AudioManager>().PlaySoundByName("SuperEffectiveHit");
            m_fCurrentConfidence -= 40.0f;
            if (AngerLines != null)
            {
                AngerLines.OnDisplay();
            }
            break;

        default:
            break;
        }
        Vector3 ConfidencePercentage = new Vector3(m_fCurrentConfidence / m_fMaxConfidence, 1.0f, 1.0f);

        ConfidenceMeter.transform.localScale = ConfidencePercentage;

        if (damagetype == InsultDamageType.NO_INSULT_GIVEN)
        {
            m_hiddenAttacks++;
        }
        else
        {
            m_attacksTakenInRound++;
            m_attacksTakenInTotal++;
        }


        InsultManager.Instance.OnInsultGiven();
    }
예제 #3
0
 public void setDamageType(int newDamageType)
 {
     m_eDamageType = (InsultDamageType)newDamageType;
 }