Пример #1
0
    void SpawnAvatar(NodeIndex clientIndex)
    {
        // TODO: generating a random position on a 10 m circle as a proxy for using an actual spawn point
        float randomTau = (float)(_random.NextDouble() * 2f * Mathf.PI);
        float x         = 10f * Mathf.Cos(randomTau);
        float z         = 10f * Mathf.Cos(randomTau);

        EntityPrefabIndex prefabIndex = _network.FindEntityPrefabIndex(_settings.avatarPrefab);

        if (!prefabIndex.IsValid())
        {
            Log.Error("FATAL ERROR: could not find avatar prefab");
        }

        string error;

        _network.SpawnEntityServer(clientIndex, prefabIndex, new Vector3(x, 0f, z), Quaternion.identity, out error);
        if (error != null)
        {
            Log.Error($"SpawnEntityServer failed with error: \n{error}");
        }
    }