GameLib class member does not exist error (it does)


#1

I’m attempting to call GameLib.simple_move_to_actor() within a Skookum script, but the compiler lodges a complaint that it does not exist. The compiler does not complain about using GameLib.world_delta_seconds a line before in the same script.

Both simple_move_to_actor and world_delta_seconds are listed in GameLib’s Member panel.

Any ideas as to what may be the cause of the problem?

Thanks!

Jesse


#2

Can you give the exact code snippet?

Is the error in the “auto-parse” (squiggly red line in the SkookumIDE editor) or after an actual SkookumIDE compile?


#3

This is part of NavigationSystem. You can see an example of usage in the Pawn coroutines _path_to_actor and _path_to_location.


#4

Part of the confusion here might be that when you type into the Members panel filter, it shows search results for all classes in grey and for the class selected in the Classes panel in white. So if you search for something that doesn’t exist in the selected class, your result window will be a uniform color.

The scope tab can help here.
image


#5

Ah, that fixed it. I had ‘GameLib’ selected in the Classes panel and just thought that anything I searched in the Member’s panel would inherit from the selected class. I’ll be more careful about the “scope” in the future (and I think the UI could indicate this relationship more clearly too – the white / gray isn’t catchy enough if you don’t know in advance the difference in meaning).

Thanks for the fast responses – As usual!
Jesse


#6

Added note - What further confused me was that I had “GameLib” in my Classes’s search field, so for the results I looked through and even selected, correct class was not displayed on the Classes’s panel since it was being masked out. A tricky situation.


#7

This often gets me as well. Then you have to clear the mask and select a member again to navigate to the parent. I’ve considered whether force-clearing the filter would be helpful or just annoying. Let us know if you have ideas on how to make things like this more intuitive, your unconditioned thoughts are really valuable at this stage of IDE evaluation.


#8

Thanks for the available ear.

The problem of discovery is tricky. How best to find something when you don’t know where to look, or worse, when you incorrectly think you know where to look. I was in the latter camp, so there an exists a PEBKAC argument that I humbly accept as valid.

Is it the purpose of the tool to correct my incorrect assumptions? That doesn’t seem reasonable, but I think information organizational display tools should offer context to test the assumptions of the user. In this case, the UI failed me. The word ‘Scope’ in the Members’ field was not conceptually close enough to the word ‘Class’ for me to question whether I was looking in the right place.

I think the lowest effort that maximizes on returns here is to add a right click item on a member item that says something like “Display Class” if its current class is not selected in the Classes panel. Clicking that option would auto select that class, thereby repopulating the Members’ panel all while retaining the original member item’s selection.

Cheers!
Jesse


#9

So, after looking at this, I think one way to make this really easy, is that when you search on any class in the Classes Panel, it simply adds that class into the Member Field as “Class.” image

The Members search field would know to only show members of GameLib in it. Any additional letters etc typed in after the “dot” would search only for members of GameLib.

In this way, you can choose to clear the field, and search for ALL members anywhere by simply typing anything. OR… you can select a class in the Classes panel, autopopulate the Members field with “class.” and then choose to type the member.