48 base.IsActive = value;
55 public virtual void Update(
float dt) {
83 FanSound = valuesDictionary.GetValue(
"FanSound",
true);
84 m_componentCreature.ComponentBody.CollidedWithBody += delegate {
128 "Audio/Creatures/Wings",
175 float num =
float.NegativeInfinity;
177 for (
int i = 0; i < 20; i++) {
180 for (
int num4 = 255; num4 >= 0; num4--) {
184 Vector3 vector =
new(num2 + 0.5f, num4 + 1.1f, num3 + 0.5f);
208 Vector3 v = safePosition - position2;
209 if (!lookDirection.HasValue
210 || 0f -
Vector3.
Dot(lookDirection.Value, v) > 0f) {
226 bool isPredator =
false;
227 bool skipVanilla =
false;
231 modLoader.IsPredator(
this, entity, out isPredator, out skipVanilla);
239 if (componentCreature !=
null
static int Min(int x1, int x2)
static float Saturate(float x)
static float Lerp(float x1, float x2, float f)
virtual bool IsCollidable_(int value)
CreatureCategory Category
SubsystemTime m_subsystemTime
SubsystemNoise m_subsystemNoise
DynamicArray< ComponentBody > m_componentBodies
bool AffectedByNoise
‹‘Î…˘”∞œÏ
StateMachine m_stateMachine
virtual void Update(float dt)
virtual void HearNoise(ComponentBody sourceBody, Vector3 sourcePosition, float loudness)
SubsystemTerrain m_subsystemTerrain
ComponentCreature m_componentCreature
virtual bool IsPredator(Entity entity)
SubsystemBodies m_subsystemBodies
virtual bool ScanForDanger()
override float ImportanceLevel
override void Load(ValuesDictionary valuesDictionary, IdToEntityMap idToEntityMap)
SubsystemAudio m_subsystemAudio
bool FanSound
≥·∞Ú…»∂Ø…˘“Ù
ComponentPathfinding m_componentPathfinding
virtual float ScoreSafePlace(Vector3 currentPosition, Vector3 safePosition, Vector3? lookDirection)
virtual Vector3 FindSafePlace()
static int ExtractContents(int value)
static int ToCell(float x)
ValuesDictionary ValuesDictionary
Component FindComponent(Type type, string name, bool throwOnError)
static void HookAction(string HookName, Func< ModLoader, bool > action)
执行Hook
static float Distance(Vector3 v1, Vector3 v2)
static float Dot(Vector3 v1, Vector3 v2)