Partial class for a carryable weapon entity. It defines an IEvent scene event interface with OnCreateWorldModel and OnDestroyWorldModel handlers and invokes those handlers when the world model is created or destroyed.
public partial class Carryable
{
public interface IEvent : ISceneEvent<IEvent>
{
public void OnCreateWorldModel() { }
public void OnDestroyWorldModel() { }
}
protected override void CreateWorldModel()
{
base.CreateWorldModel();
if ( WorldModel.IsValid() )
{
IEvent.PostToGameObject( WorldModel, x => x.OnCreateWorldModel() );
}
}
protected override void DestroyWorldModel()
{
if ( WorldModel.IsValid() )
{
IEvent.PostToGameObject( WorldModel, x => x.OnDestroyWorldModel() );
}
base.DestroyWorldModel();
}
}