// Template definition for a Island snapshot entity static public EntityTemplate GenerateIslandEntityTemplate(Vector3 initialPosition, string prefabName) { var template = new EntityTemplate(); template.AddComponent(new Position.Snapshot() { Coords = initialPosition.ToCoordinates() }, WorkerUtils.UnityGameLogic); template.AddComponent(new Metadata.Snapshot() { EntityType = prefabName }, WorkerUtils.UnityGameLogic); template.AddComponent(new Persistence.Snapshot(), WorkerUtils.UnityGameLogic); TransformSynchronizationHelper.AddTransformSynchronizationComponents(template, WorkerUtils.UnityGameLogic, location: initialPosition); template.SetReadAccess(WorkerUtils.AllWorkerAttributes); template.SetComponentWriteAccess(EntityAcl.ComponentId, WorkerUtils.UnityGameLogic); return(template); }