Beispiel #1
0
    public void OnEntityCreated(
        SpatialOSEntity entity,
        EntityGameObjectLinker linker)
    {
        if (!entity.HasComponent <Metadata.Component>())
        {
            return;
        }
        Metadata.Component metadata = entity.GetComponent <Metadata.Component>();
        bool isPlayer     = metadata.EntityType.Equals("Player");
        bool hasAuthority = PlayerLifecycleHelper.IsOwningWorker(entity.SpatialOSEntityId, _world);

        if (isPlayer && hasAuthority)
        {
            string     pathToPrefab     = $"Prefabs/{_workerType}/Authoratative/Player";
            Object     prefab           = Resources.Load(pathToPrefab);
            GameObject playerGameObject = (GameObject)Object.Instantiate(prefab);

            linker.LinkGameObjectToSpatialOSEntity(entity.SpatialOSEntityId, playerGameObject);
        }
        else
        {
            _fallbackCreator.OnEntityCreated(entity, linker);
        }
    }
Beispiel #2
0
    public void OnEntityCreated(SpatialOSEntity entity, EntityGameObjectLinker linker)
    {
        if (!entity.HasComponent <Metadata.Component>())
        {
            return;
        }
        Metadata.Component metadata = entity.GetComponent <Metadata.Component>();
        bool isCube = metadata.EntityType.Equals("Cube");

        // TODO: check if it is a Cube
        if (isCube)
        {
            string     pathToPrefab   = $"Prefabs/{_workerType}/Common/Player";
            Object     prefab         = Resources.Load(pathToPrefab);
            GameObject cubeGameObject = (GameObject)Object.Instantiate(prefab);

            linker.LinkGameObjectToSpatialOSEntity(entity.SpatialOSEntityId, cubeGameObject);
        }
        else
        {
            _fallbackCreator.OnEntityCreated(entity, linker);
        }
    }