| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.Events;
- using System;
- public class BodyTrigger : MonoBehaviour
- {
- public PlayerController owner;
- public AttackController.AttackMethod attackMethod;
- public List<BeHitTrigger> collisionTargets = new List<BeHitTrigger>();
- public List<TargetType> targetTypes;
- int randomInt;
- private void Awake()
- {
- attackMethod.attackInfo.attackMethod_Type = AttackMethod_Type.Attack_March;
- }
- private void OnEnable()
- {
- collisionTargets.Clear();
- attackMethod.attackInfo.blowUp.force = GameManager.instance.forceToGround;
- attackMethod.attackInfo.blowUp.landingDamageRate = GameManager.instance.landingDamageRate;
- }
- private void OnTriggerEnter(Collider other)
- {
- BeHitTrigger hitTrigger = other.GetComponent<BeHitTrigger>();
- if (hitTrigger != null && !hitTrigger.owner.isDie)
- {
- TargetType otherTargetType = (TargetType)Enum.Parse(typeof(TargetType), hitTrigger.owner.tag);
- if (!targetTypes.Exists(x => x == otherTargetType))
- {
- return;
- }
- MoveCharacter moveCharacter = hitTrigger.owner as MoveCharacter;
- if (GameManager.instance.isThunderEnable)
- {
- randomInt = UnityEngine.Random.Range(0, 100);
- if(randomInt < GameManager.instance.thunderProbability)
- {
- moveCharacter.BeElectrify();
- }
- }
- if (GameManager.instance.isWindEnable && !collisionTargets.Contains(hitTrigger))
- {
- randomInt = UnityEngine.Random.Range(0, 100);
- if (randomInt < GameManager.instance.windProbability)
- {
- collisionTargets.Add(hitTrigger);
- if (!moveCharacter.nowCanFly)
- {
- attackMethod.attackInfo.blowUp.force = GameManager.instance.forceToGround + GameManager.instance.windLabelEffectRatio * GameManager.instance.myTreasuresTag[1];
- moveCharacter.BeHit(attackMethod, owner, -1);
- }
- else
- {
- moveCharacter.rb.AddForce(owner.rushDir * (GameManager.instance.forceToFly + GameManager.instance.windLabelEffectRatio * GameManager.instance.myTreasuresTag[1]), ForceMode.Impulse);
- }
- }
- }
- }
- }
- }
|