コード例 #1
0
ファイル: HitCollision.cs プロジェクト: deerter/Scarlet-Flash
    private void HitOpponent(Collider2D otherPlayer, string rival)
    {
        if (otherPlayer.tag == rival)
        {
            rivalCharacter = otherPlayer.gameObject.GetComponent <CharacterFeatures>();
            float attackValue = currentCharacter.DoDamage() * CurrentFightStats.GetDamage();
            ///Moves hit character
            rivalCharacter.HitDone();
            switch (currentCharacter.GetIsFlipped())
            {
            case true:
                otherPlayer.gameObject.GetComponent <Rigidbody2D>().velocity = Vector2.left * 40f;
                break;

            case false:
                otherPlayer.gameObject.GetComponent <Rigidbody2D>().velocity = Vector2.right * 40f;
                break;
            }

            if (rivalCharacter.GetIsBlocking())
            {
                rivalSoundEffect.PlayCharacterSoundEffect("Block");
                rivalCharacter.TakeDamage(attackValue / 4);
                PlayBlockAnimation();
                blockSprite.GetComponent <BlockBehaviour>().ActivateBlockSprite(otherPlayer.gameObject.GetComponent <BoxCollider2D>(), rivalCharacter.GetIsFlipped());
            }
            else
            {
                rivalSoundEffect.PlayCharacterSoundEffect("Hit");
                rivalCharacter.TakeDamage(attackValue);
                PlayHitAnimation();
                hitSparks.GetComponent <SparksBehaviour>().ActivateHitSparks(gameObject.GetComponent <BoxCollider2D>().bounds.center);
            }
        }
    }