public static void Process(ulong sender, params object[] args) { //Debug.Log("On Rec Connect Req Response"); //Core.net.OnConnectRequestResponse(sender, (int)args[0], (int)args[1]); int prefabId = (int)args[0]; int networkId = (int)args[1]; int owner = (int)args[2]; int controller = (int)args[3]; int scopeStatus = (int)args[4]; NetworkEntity e = Core.net.GetEntity(owner, networkId); if (e == null) { return; } Debug.Log("EntityScopeResponse: " + scopeStatus); switch (scopeStatus) { case 0: //sender just has no data for this entity, but it is still important. Don't do anything break; case 1: //sender isn't replicating this entity to you anymore because you have fallen out of scope. //destroy this locally e.DestroyInternal(); break; case 2: //sender doesn't care about this entity anymore (they fell out of scope). You still care about this //entity beacuse you sent the EntityScopeRequest. //take control of this entity. //sending a take control request will not come back because the entity no longer exists on the other end. //so assume the request came back as true if (e.canMigrate) { e.TakeControlInternal(); } else { e.DestroyInternal(); } break; } //if(e != null && canDestroy) { // e.DestroyInternal(); //} }