public void Initialize(ref EcsEntity e, Character character, CombatEntity combat, MonsterDatabaseInfo monData, MonsterAiType type, MapSpawnEntry spawnEntry, string mapName) { Entity = e; Character = character; this.SpawnEntry = spawnEntry; CombatEntity = combat; MonsterBase = monData; aiType = type; SpawnMap = mapName; aiEntries = DataManager.GetAiStateMachine(aiType); nextAiUpdate = Time.ElapsedTimeFloat + 1f; if (Character.ClassId >= 4000 && SpawnEntry == null) { throw new Exception("Monster created without spawn entry"); //remove when arbitrary monster spawning is added } UpdateStats(); currentState = MonsterAiState.StateIdle; }
public static List <MonsterAiEntry> GetAiStateMachine(MonsterAiType monsterType) { return(monsterAiList[(int)monsterType]); }