add short alias for mutator

This commit is contained in:
2023-12-31 23:17:21 +03:00
parent 24911dfdec
commit f125573acb
3 changed files with 63 additions and 62 deletions

View File

@ -1,60 +1 @@
class CTIMut extends KFMutator;
var private CTI CTI;
public simulated function bool SafeDestroy()
{
return (bPendingDelete || bDeleteMe || Destroy());
}
public event PreBeginPlay()
{
Super.PreBeginPlay();
if (WorldInfo.NetMode == NM_Client) return;
foreach WorldInfo.DynamicActors(class'CTI', CTI)
{
break;
}
if (CTI == None)
{
CTI = WorldInfo.Spawn(class'CTI');
}
if (CTI == None)
{
`Log_Base("FATAL: Can't Spawn 'CTI'");
SafeDestroy();
}
}
public function AddMutator(Mutator Mut)
{
if (Mut == Self) return;
if (Mut.Class == Class)
CTIMut(Mut).SafeDestroy();
else
Super.AddMutator(Mut);
}
public function NotifyLogin(Controller C)
{
CTI.NotifyLogin(C);
Super.NotifyLogin(C);
}
public function NotifyLogout(Controller C)
{
CTI.NotifyLogout(C);
Super.NotifyLogout(C);
}
DefaultProperties
{
GroupNames.Add("TraderItems")
}
class CTIMut extends Mut; // backward compatibility

60
CTI/Classes/Mut.uc Normal file
View File

@ -0,0 +1,60 @@
class Mut extends KFMutator;
var private CTI CTI;
public simulated function bool SafeDestroy()
{
return (bPendingDelete || bDeleteMe || Destroy());
}
public event PreBeginPlay()
{
Super.PreBeginPlay();
if (WorldInfo.NetMode == NM_Client) return;
foreach WorldInfo.DynamicActors(class'CTI', CTI)
{
break;
}
if (CTI == None)
{
CTI = WorldInfo.Spawn(class'CTI');
}
if (CTI == None)
{
`Log_Base("FATAL: Can't Spawn 'CTI'");
SafeDestroy();
}
}
public function AddMutator(Mutator M)
{
if (M == Self) return;
if (M.Class == Class)
Mut(M).SafeDestroy();
else
Super.AddMutator(M);
}
public function NotifyLogin(Controller C)
{
CTI.NotifyLogin(C);
Super.NotifyLogin(C);
}
public function NotifyLogout(Controller C)
{
CTI.NotifyLogout(C);
Super.NotifyLogout(C);
}
DefaultProperties
{
GroupNames.Add("TraderItems")
}