public void Interpret(INetworkMediator netMediator, EndPoint sender, IMessage message)
        {
            var           msg    = (SpawnEntityMessage)message;
            IEngineFacade engine = (IEngineFacade)netMediator.EngineProxy;

            EntitySpawnner.SpawnEntityFromMessage(engine, msg);
        }
Beispiel #2
0
        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);
                }
            }
        }