blob: 8ba9ca6d94e5f380b002be78d4740d0f10bbb5cc (
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
|
using System;
using System.Xml;
using XUtliPoolLib;
namespace XMainClient
{
internal class AIRunTimeValueDistance : AIRunTimeNodeCondition
{
private string _target_name;
private string _distance_name;
private float _distance = 0f;
public AIRunTimeValueDistance(XmlElement node) : base(node)
{
this._target_name = node.GetAttribute("Shared_TargetName");
this._distance_name = node.GetAttribute("Shared_MaxDistanceName");
this._distance = float.Parse(node.GetAttribute("Shared_MaxDistancemValue"));
}
public override bool Update(XEntity entity)
{
XGameObject xgameObjectByName = entity.AI.AIData.GetXGameObjectByName(this._target_name);
float floatByName = entity.AI.AIData.GetFloatByName(this._distance_name, this._distance);
bool flag = xgameObjectByName != null;
return flag && (entity.EngineObject.Position - xgameObjectByName.Position).magnitude <= floatByName;
}
}
}
|