- Added AStateProvider class which is used to define the special action function behavior of weapons and custom inventorys. The class itself does not do anything, but the compiler will use it to set up the action function prototypes differently which in turn will be used to do type checking during code generation.

This commit is contained in:
Christoph Oelckers 2016-10-15 15:10:48 +02:00
commit 091da92819
5 changed files with 62 additions and 52 deletions

View file

@ -99,11 +99,11 @@ void SetImplicitArgs(TArray<PType *> *args, TArray<DWORD> *argflags, TArray<FNam
if (args != nullptr)
{
// Special treatment for weapons and CustomInventorys: 'self' is not the defining class but the actual user of the item, so this pointer must be of type 'Actor'
/* if (cls->IsDescendantOf(RUNTIME_CLASS(AStateProvider)))
if (cls->IsDescendantOf(RUNTIME_CLASS(AStateProvider)))
{
args->Insert(0, RUNTIME_CLASS(AActor)); // this must go in before the real pointer to the containing class.
}
else*/
else
{
args->Push(cls);
}