DistributedUIDGenerator
Creates a generator that measures timestamps from the current time.
Read time 1 minuteLast updated 9 days ago
Definition
- Type: Constructor
- Namespace: Unity.Localization
- Assembly: UnityEngine.LocalizationRuntimeModule
DistributedUIDGenerator()
Creates a generator that measures timestamps from the current time.
public DistributedUIDGenerator()
Remarks
The current UTC time becomes the DistributedUIDGenerator.CustomEpoch. Use the DistributedUIDGenerator overload to pin the epoch to a fixed point instead.
Assign a default generator to a collection's shared data.
Examples
using Unity.Localization;using UnityEngine;namespace Unity.Localization.Samples{ public class DistributedUIDGeneratorConstructorExample { public void Run() { var sharedData = ScriptableObject.CreateInstance<SharedTableData>(); sharedData.KeyGenerator = new DistributedUIDGenerator(); SharedTableData.SharedTableEntry entry = sharedData.AddKey("GREETING"); Debug.Log(entry.Id != 0); // True } }}
DistributedUIDGenerator(long)
Creates a generator that measures timestamps from a specific epoch.
public DistributedUIDGenerator(long customEpoch)
Parameters
The epoch, in Unix milliseconds, that timestamps are measured from.
Remarks
Because the timestamp portion of each id counts from , a later epoch keeps ids smaller for longer before the 41-bit timestamp range is exhausted.
customEpochCreate a generator pinned to a fixed epoch.
Examples
using System;using Unity.Localization;using UnityEngine;namespace Unity.Localization.Samples{ public class DistributedUIDGeneratorCustomEpochExample { public void Run() { var epoch = new DateTimeOffset(2020, 1, 1, 0, 0, 0, TimeSpan.Zero).ToUnixTimeMilliseconds(); var generator = new DistributedUIDGenerator(epoch); Debug.Log(generator.CustomEpoch == epoch); // True } }}