When the quest generator generates a quest, it creates a "world model," which is its understanding of what's in the world. To create the world model, it first checks all of its quest domains. In this case, the space station scene won't have a quest domain for the asteroid belt since it's in a separate scene. After checking quest domains, it calls a custom QuestGeneratorEntity.updateWorldModel method if assigned. You can use this method to add more info to the world model that isn't represented by the current scene's quest domains. Try this:
- I assume from your description that the quest generator NPC is not in the asteroid belt scene. Remove the quest domain from the NPC's scene.
- Add a script to the NPC that has these methods:
Code: Select all
public DomainType asteroidBelt; // <-- ASSIGN THESE IN INSPECTOR public EntityType ore; void Start() { GetComponent<QuestGeneratorEntity>().updateWorldModel += UpdateWorldModel; } void UpdateWorldModel(WorldModel worldModel) { // Add a fact to the world model that says the AsteroidBelt domain contains 300 ore: worldModel.AddFact(new Fact(asteroidBelt, ore, 300)); }