I noticed something about a deprecated function (or something of the sort) in my developer console and realized there had been an update for Core Game Kit. I tried updating, without bringing too much over (since I'm really only using the Pool Boss portion of it and am trying to avoiding bloating my game). But, after updating and importing, I'm getting a handful of errors (about 16 at this point). Here are four of them (these four errors seem to be at the root of each of the 16 errors I'm getting):
Assets/Plugins/DarkTonic/CoreGameKit/Scripts/PrefabPool/WavePrefabPoolItem.cs(14,16): error CS0246: The type or namespace name `WorldVariableRangeCollection' could not be found. Are you missing an assembly reference?
Assets/Plugins/DarkTonic/CoreGameKit/Scripts/PoolBoss/PoolBoss.cs(1539,50): error CS0246: The type or namespace name `Killable' could not be found. Are you missing an assembly reference?
Assets/Plugins/DarkTonic/CoreGameKit/Scripts/Level/LevelWave.cs(14,16): error CS0246: The type or namespace name `WorldVariableCollection' could not be found. Are you missing an assembly reference?
Assets/Plugins/DarkTonic/CoreGameKit/Scripts/Level/LevelSettingsListener.cs(110,62): error CS0246: The type or namespace name `WorldVariableModifier' could not be found. Are you missing an assembly reference?
Any suggestions you can offer are greatly appreciated!
You can't only bring in Pool Boss. It's part of the LevelWaveSettings prefab. And there are a ton of scripts for all that.
If you want to use only Pool Boss that's why we sell it as a standalone too. And there's upgrade pricing for Core GameKit from Pool Boss. If you didn't buy Pool Boss, we will send you a promo code for it if you email us at firstname.lastname@example.org
You can also just not turn on Global Waves and only use Pool Boss where it sits, with Core GameKit. You should import everything and delete the example scenes in that case.
Okay, I emailed for the code for Pool Boss and used that to replace Core Game Kit with just Pool Boss. Thanks for that. But now I'm getting these errors:
Assets/Plugins/DarkTonic/CoreGameKit/PlaymakerCustomActions/CoreGameKitPoolBossSpawn.cs(1,17): error CS0234: The type or namespace name `CoreGameKit' does not exist in the namespace `DarkTonic'. Are you missing an assembly reference?
Assets/Plugins/DarkTonic/CoreGameKit/PlaymakerCustomActions/CoreGameKitPoolBossDespawn.cs(1,17): error CS0234: The type or namespace name `CoreGameKit' does not exist in the namespace `DarkTonic'. Are you missing an assembly reference?
The only actions I'm using are Spawn and Despawn. So, I only imported those Playmaker actions (which I had to do from the Core Game Kit asset, since I didn't see anything for Playmaker Actions in the Pool boss import), but these two actions aren't showing up. Can you tell me what else I need to import to resolve this issue?
Got some issue with updating too, i'll hop on this thread train so i don't pollute the forum with needless threads.
Anyway, it's probably a Playmaker issue since it's working fine until i update it, but i might as well check it out here too. Things get screwed up in both Unity 2017 and both 2018. 999 errors, and here they are:
Pool Boss has not initialized (does so in Awake event and may take additional frames if you configured it that way) and is not ready to be used yet. Check that PoolBoss.IsReady returns true before calling other methods.
IsReady is private so i don't know how to check it.
Could not spawn: xyz
No game object specified for 'Other Object For Position'
Coroutine couldn't be started because the the game object 'xyz (Clone x)' is inactive! Pools are filled, Playmaker works, the game works, prefabs are being spawned from pool, even though allow instantiate more is disabled, all the references and hash tables i draw my data from are intact,nothing seems out of the ordinary. And yet, the moment i hit play, 999 errors appear.
Post by DarkTonic Dev on Jul 19, 2018 15:15:52 GMT
Do the example scenes work without errors? If so send me the first couple errors to get logged into the console in their entirety so I can see all the line numbers and where they originate. Line numbers and all.
Post by DarkTonic Dev on Jul 19, 2018 19:41:12 GMT
You must not understand what I'm saying. Console always has a stack trace with line numbers. You're only giving me the message part, i.e. "No game object specified for 'Other Object For Position'". After that will be a trail of line numbers and class names that called it, all the way down. If you select the log entry in the Console window, the entire thing with stack trace appears at bottom. That's what I want.
Post by DarkTonic Dev on Jul 19, 2018 20:17:58 GMT
For all 4 of those, it looks like you have FSM code firing when the Game Object is disabled, which unfortunately happens during Pool Boss initialization, when it clones the prefabs for pooling and promptly disables them. So it is correct that Pool Boss is not ready at that time - it's still initializing. I don't think that you'll be able to put code in an FSM for "disable" because of that fact.
I tried disabling all the objects in the scene view that contain any FSM components same thing happens. I wandered around logs and tried some playmaker debugging, and here's how it goes:
1. PoolBoss instantiates an Object 1 which is in the PoolBoss. Object is deactivated of course. 2. Object 1 has an FSM, which is activated, but SHOULD NOT start processing while object is not active, at least that was the case until that version. 3. FSM on Object 1 has Core Game Kit Pool Boss Spawn action that should spawn Object 2, but i get
"Could not spawn Object 2" error.
Anyway, FSM's shouldn't actually fire at all while the gameobject is deactivated, so this is a Playmaker problem probably. Related to that, if the objects in the pool are active in the project, and then pooled on runtime, are they instantiated then deactivated, or are they instantiated deactivated?
I'll send this to Jean, and he'll probably contact you too if the need arises.
Post by DarkTonic Dev on Jul 20, 2018 15:22:02 GMT
I don't believe you can instantiate deactivated. Clones are instantiated and then immediately deactivated afterward. What happens is awake gets called in each thing that's instantiated, also on disabled will get called. The stack Trace shows that FSM is getting entered during the awake and your initial state is trying to do a pool bus custom action. But pool boss is not done being instantiated.