As in title, how do I implement this?
I've tried (bogus is a component of IBogus). (Delegate to one random player that connected)
INetChannel *netChannel = gEnv->pGameFramework->GetNetChannel(pEntity->GetNetEntity()->GetChannelId());
gEnv->pNetContext->DelegateAuthority(g_pBogus->GetEntityId(), netChannel);
Plus 8 or so hours on other bug fixes + digging through CE's netcode....looking at ContextView etc. sure didn't help lol.
Bogus::NetSerialize doesn't trigger. Gagh....missing something obvious but it's just not working for me.
I just want aspect 'SampleAspect' to be ran through Bogus, to send a collection of entity-independent data from the Server to all the Clients.
Re: Aspects/RMI's on non-player entities?
#2Doing /kill @e[type=!Player] will kill all entities non players. Run it a second time to delete dropped item entities.
Re: Aspects/RMI's on non-player entities?
#3An aspect that sends data FROM server TO both remote and local actors would be eEA_GameServerC
You shouldn't need to delegate authority.
I assume you registered your Bogus component with Schematyc too.
Something like this, (my IBogus component):
Keep in mind that any data you serialize has to be fixed length, e.g. 4 ints or 10 floats
Serialization does not work with dynamic sizes.
You shouldn't need to delegate authority.
I assume you registered your Bogus component with Schematyc too.
Something like this, (my IBogus component):
Code: Select all
namespace {
static void RegisterComponentBogus(Schematyc::IEnvRegistrar& registrar)
{
Schematyc::CEnvRegistrationScope scope = registrar.Scope(IEntity::GetEntityScopeGUID());
{
Schematyc::CEnvRegistrationScope componentScope = scope.Register(SCHEMATYC_MAKE_ENV_COMPONENT(IBogus));
}
}
CRY_STATIC_AUTO_REGISTER_FUNCTION(&RegisterComponentBogus);
}
Serialization does not work with dynamic sizes.