public static void SetupComponentData(EntityManager entityManager, SpawnerDataObject spawnData)
    {
        var arch = entityManager.CreateArchetype(
            typeof(BigBangSpawnCooldown),
            typeof(BigBangSpawnData),
            typeof(BigBangSpawnerState));
        var stateEntity = entityManager.CreateEntity(arch);
        var oldState    = Random.state;

        Random.InitState(spawnData.Seed);

        entityManager.SetComponentData(stateEntity, new BigBangSpawnCooldown {
            Value = 0.0f
        });
        entityManager.SetComponentData(stateEntity, new BigBangSpawnData {
            Value = spawnData.Value
        });
        entityManager.SetComponentData(stateEntity, new BigBangSpawnerState
        {
            SpawnedEntitiesCount = 0,
            CooldownInterval     = spawnData.SpawnerCooldown,
            RandomState          = Random.state
        });
        Random.state = oldState;
    }
Example #2
0
 private static void LoadExternalDataAssets()
 {
     BigBangData    = Resources.Load("Data/SpawnerData") as SpawnerDataObject;
     cubeRenderData = Resources.Load("Data/RenderData/SphereRenderData") as RenderDataObject;
 }