blob: 9416d80ff24e88185afbe2119a0bf568f25d4209 (
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
67
68
69
|
using System;
using System.Collections.Generic;
using KKSG;
using XUtliPoolLib;
namespace XMainClient
{
internal class XBuffTriggerByQTE : XBuffTrigger
{
private HashSet<int> m_QTEList = new HashSet<int>();
private long m_PreToken = 0L;
public XBuffTriggerByQTE(XBuff buff) : base(buff)
{
int num = 0;
for (;;)
{
int num2 = base._GetTriggerParamInt(buff.BuffInfo, num);
bool flag = num2 == 0;
if (flag)
{
break;
}
this.m_QTEList.Add(num2);
num++;
}
}
public override void OnUpdate()
{
base.Trigger();
base.OnUpdate();
}
public override bool CheckTriggerCondition()
{
bool flag = base.Entity.Machine == null;
bool result;
if (flag)
{
result = false;
}
else
{
bool flag2 = this.m_PreToken == base.Entity.Machine.ActionToken;
if (flag2)
{
result = false;
}
else
{
this.m_PreToken = base.Entity.Machine.ActionToken;
bool flag3 = base.Entity.Machine.Current != XStateDefine.XState_BeHit && base.Entity.Machine.Current != XStateDefine.XState_Freeze;
if (flag3)
{
result = false;
}
else
{
KKSG.XQTEState qtespecificPhase = base.Entity.GetQTESpecificPhase();
result = this.m_QTEList.Contains(XFastEnumIntEqualityComparer<KKSG.XQTEState>.ToInt(qtespecificPhase));
}
}
}
return result;
}
}
}
|