public void Interpret(INetworkMediator netMediator, EndPoint sender, IMessage message) { var msg = (SpawnEntityMessage)message; IEngineFacade engine = (IEngineFacade)netMediator.EngineProxy; EntitySpawnner.SpawnEntityFromMessage(engine, msg); }
public void Interpret(INetworkMediator netMediator, EndPoint sender, IMessage message) { var sceneEntities = GameObject.FindObjectsOfType <NetworkEntity>() as IUnityEntity[]; var m = (SendEntitiesToNewPlayerMessage)message; IEngineFacade engine = (IEngineFacade)netMediator.EngineProxy; for (int i = 0; i < m.EntityCount; i++) { if (string.IsNullOrEmpty(m.SceneIdentifiers[i])) { // Don't load an entity that already exists (from DontDestroyOnLoad) if (!engine.EntityRepository.Exists(m.Ids[i])) { EntitySpawnner.SpawnEntityFromData(engine, m.Ids[i], m.PrefabIds[i], m.Positions[i], m.Rotations[i], m.Scales[i]); } } else { SetupEntityAlreadyInScene(sceneEntities, m, i, engine); } } }