blob: 5277669477b973adedf515c5361eb8ca2abff944 (
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
using System;
using System.Collections.Generic;
using UnityEngine;
using XUtliPoolLib;
namespace XMainClient
{
internal class XLevelAIMgr : XSingleton<XLevelAIMgr>
{
public bool AiReady
{
get
{
return this._ai_ready;
}
}
public bool AiDebug
{
get
{
return this._ai_debug;
}
}
public Vector3 ArenaCenter
{
get
{
return this._arena_center;
}
}
public List<GameObject> PathList
{
get
{
return this._path_list;
}
}
private GameObject _start_pos = null;
private List<GameObject> _path_list = new List<GameObject>();
private bool _ai_ready = false;
private bool _ai_debug = false;
private Vector3 _arena_center = Vector3.zero;
private static readonly int MAX_PATH_POINT = 100;
public void InitAIData()
{
string sceneDynamicPrefix = XSingleton<XSceneMgr>.singleton.GetSceneDynamicPrefix(XSingleton<XScene>.singleton.SceneID);
GameObject gameObject = GameObject.Find("Arena_center");
bool flag = gameObject != null;
if (flag)
{
this._arena_center = gameObject.transform.position;
}
GameObject gameObject2 = GameObject.Find(sceneDynamicPrefix + "navigation");
this._path_list.Clear();
bool flag2 = gameObject2 != null;
if (flag2)
{
for (int i = 0; i < XLevelAIMgr.MAX_PATH_POINT; i++)
{
Transform transform = gameObject2.transform.Find("path" + i.ToString());
bool flag3 = transform == null;
if (flag3)
{
break;
}
GameObject gameObject3 = transform.gameObject;
bool flag4 = gameObject3 == null;
if (flag4)
{
break;
}
this._path_list.Add(gameObject3);
}
}
bool flag5 = this._path_list.Count == 0;
if (flag5)
{
this._ai_ready = false;
}
else
{
this._ai_ready = true;
}
}
public void ClearAIData()
{
this._start_pos = null;
this._path_list.Clear();
}
public GameObject GetAiStartPos()
{
return this._start_pos;
}
public List<GameObject> GetPathPos()
{
return this._path_list;
}
public void EnableAllAI(bool enable)
{
List<XEntity> opponent = XSingleton<XEntityMgr>.singleton.GetOpponent(XSingleton<XEntityMgr>.singleton.Player);
List<XEntity> ally = XSingleton<XEntityMgr>.singleton.GetAlly(XSingleton<XEntityMgr>.singleton.Player);
for (int i = 0; i < opponent.Count; i++)
{
XAIEnableAI @event = XEventPool<XAIEnableAI>.GetEvent();
@event.Firer = opponent[i];
@event.Enable = enable;
XSingleton<XEventMgr>.singleton.FireEvent(@event);
}
for (int j = 0; j < ally.Count; j++)
{
XAIEnableAI event2 = XEventPool<XAIEnableAI>.GetEvent();
event2.Firer = ally[j];
event2.Enable = enable;
XSingleton<XEventMgr>.singleton.FireEvent(event2);
}
}
}
}
|