blob: 4932a3deebe8d6ab29e549ed32adf38e323891e2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 同一个角色同一个时间只能有一个state
/// </summary>
public abstract class StateBase
{
protected int m_StateID;
public int ID
{
get
{
return m_StateID;
}
}
public StateBase()
{
m_StateID = UIDManager.Acquire();
}
public virtual void OnInit() { }
/// <summary>
/// 进入当前state的回调
/// </summary>
public virtual void OnEnter() { }
/// <summary>
/// 退出当前state的回调
/// </summary>
public virtual void OnExit() { }
/// <summary>
/// 当前state的update函数
/// </summary>
public virtual void OnUpdate() { }
/// <summary>
/// 在物理模拟之后更新
/// </summary>
public virtual void OnPhysicsUpdate() { }
/// <summary>
/// 过渡到下一个state的回调
/// </summary>
/// <param name="to"></param>
public virtual void OnTranslate(StateBase to) { }
/// <summary>
/// 检测到hitbox碰撞时的回调
/// </summary>
public virtual void OnHit(HitInfo info) { }
/// <summary>
/// 检测到hurtbox碰撞时的回调
/// </summary>
public virtual void OnHurt(HurtInfo info) { }
/// <summary>
/// 检测到defendbox碰撞时的回调
/// </summary>
public virtual void OnDefend() { }
}
|