Commit cd31a54f authored by 15김민규's avatar 15김민규

Revert "누락사항 넣음"

This reverts commit 29451a7a.
parent 29451a7a
fileFormatVersion: 2
guid: 713a0796b50970d478e2a86ee800eb7e
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DamageToPlayer : MonoBehaviour {
public int damage;
// enum debuff
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.CompareTag("Player"))
{
Debug.Log("Auch!");
}
}
}
fileFormatVersion: 2
guid: 908a1b16b9926f747807d321c5ecc8af
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 4e703d327a79ead45831653344108bdf
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MeleeAttack : StateMachineBehaviour {
float timer;
float attackDelay;
float attackDuration;
public Sprite castingSprite;
public Sprite attackingSprite;
Sprite prevSprite;
enum SubState
{
BEFOREATTACK,
CASTING,
ATTACKING
}
SubState subState;
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
prevSprite = animator.GetComponent<SpriteRenderer>().sprite;
attackDelay = animator.GetFloat("attackDelay");
attackDuration = animator.GetFloat("attackDuration");
subState = SubState.BEFOREATTACK;
timer = 0.0f;
}
// OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
timer += Time.deltaTime;
if (timer < attackDelay)
{
if (subState == SubState.BEFOREATTACK)
{
subState = SubState.CASTING;
animator.GetComponent<SpriteRenderer>().sprite = castingSprite;
}
// action during casting attack
}
else if (timer < attackDelay + attackDuration)
{
if (subState == SubState.CASTING)
{
subState = SubState.ATTACKING;
animator.GetComponent<SpriteRenderer>().sprite = attackingSprite;
animator.transform.GetChild(0).GetComponents<BoxCollider2D>()[0].enabled = true;
}
}
else
{
animator.SetTrigger("TrackTrigger");
}
}
// OnStateExit is called when a transition ends and the state machine finishes evaluating this state
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
animator.GetComponent<SpriteRenderer>().sprite = prevSprite;
animator.transform.GetChild(0).GetComponents<BoxCollider2D>()[0].enabled = false;
}
// OnStateMove is called right after Animator.OnAnimatorMove(). Code that processes and affects root motion should be implemented here
//override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
//
//}
// OnStateIK is called right after Animator.OnAnimatorIK(). Code that sets up animation IK (inverse kinematics) should be implemented here.
//override public void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
//
//}
}
fileFormatVersion: 2
guid: e92be6a4d81dc134fbe2097609bb180b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MeleeIdle : StateMachineBehaviour {
Vector2 origin;
float patrolRange;
float movementSpeed;
float noticeRange;
GameObject player;
Vector3 leftsideAngle = new Vector3(0, 0, 0);
Vector3 rightsideAngle = new Vector3(0, 180, 0);
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
origin = animator.transform.position;
patrolRange = animator.GetFloat("patrolRange");
noticeRange = animator.GetFloat("noticeRange");
movementSpeed = animator.GetFloat("movementSpeedPatrol");
player = GameObject.Find("Player");
}
// OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
if (Vector2.Distance(player.transform.position, animator.transform.position) < noticeRange)
{
animator.SetTrigger("TrackTrigger");
return;
}
Vector2 currPosition = animator.transform.position;
Vector2 movingDistance = -1 * animator.transform.right * movementSpeed * Time.deltaTime; // go left first
animator.GetComponent<Rigidbody2D>().MovePosition(currPosition + movingDistance);
if(Mathf.Abs(animator.transform.position.x - origin.x) > patrolRange)
{
animator.transform.eulerAngles = (origin.x < animator.transform.position.x) ? leftsideAngle : rightsideAngle;
}
}
// OnStateExit is called when a transition ends and the state machine finishes evaluating this state
//override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
//
//}
// OnStateMove is called right after Animator.OnAnimatorMove(). Code that processes and affects root motion should be implemented here
//override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
//
//}
// OnStateIK is called right after Animator.OnAnimatorIK(). Code that sets up animation IK (inverse kinematics) should be implemented here.
//override public void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
//
//}
}
fileFormatVersion: 2
guid: d2a789ffb946ca045aaaf6896bc26da8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MeleeTrack : StateMachineBehaviour {
GameObject player;
float movementSpeed;
float attackRange;
Vector3 leftsideAngle = new Vector3(0, 0, 0);
Vector3 rightsideAngle = new Vector3(0, 180, 0);
readonly float dirChangeTime = 0.5f;
IEnumerator dirChange;
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
movementSpeed = animator.GetFloat("movementSpeedTrack");
attackRange = animator.GetFloat("attackRange");
player = GameObject.Find("Player");
dirChange = DirChange(animator);
animator.GetComponent<MonoBehaviour>().StartCoroutine(dirChange);
}
// OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
if (Vector2.Distance(player.transform.position, animator.transform.position) < attackRange)
{
animator.SetTrigger("AttackTrigger");
return;
}
Vector2 currPosition = animator.transform.position;
Vector2 movingDistance = animator.transform.right * movementSpeed * Time.deltaTime * -1;
animator.GetComponent<Rigidbody2D>().MovePosition(currPosition + movingDistance);
}
IEnumerator DirChange(Animator animator)
{
while (true)
{
animator.transform.eulerAngles = (player.transform.position.x - animator.transform.position.x < 0) ? leftsideAngle : rightsideAngle;
yield return new WaitForSeconds(dirChangeTime);
}
}
// OnStateExit is called when a transition ends and the state machine finishes evaluating this state
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
animator.GetComponent<MonoBehaviour>().StopCoroutine(dirChange);
}
// OnStateMove is called right after Animator.OnAnimatorMove(). Code that processes and affects root motion should be implemented here
//override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
//
//}
// OnStateIK is called right after Animator.OnAnimatorIK(). Code that sets up animation IK (inverse kinematics) should be implemented here.
//override public void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) {
//
//}
}
fileFormatVersion: 2
guid: 3fc79cb78d2a6a040a8ddd4a1997db22
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment