public static T InstantiateEntityWithShape <T, K>(ParcelScene scene, DCL.Models.CLASS_ID classId, Vector3 position, out DecentralandEntity entity, K model = null) where T : BaseShape where K : class, new() { if (model == null) { model = new K(); } entity = CreateSceneEntity(scene); string shapeId = ""; shapeId = CreateAndSetShape(scene, entity.entityId, classId, JsonConvert.SerializeObject(model)); T shape = scene.disposableComponents[shapeId] as T; SetEntityTransform(scene, entity, position, Quaternion.identity, Vector3.one); return(shape); }
public static void InstantiateEntityWithShape(ParcelScene scene, string entityId, DCL.Models.CLASS_ID classId, Vector3 position, string remoteSrc = "") { CreateSceneEntity(scene, entityId); if (string.IsNullOrEmpty(remoteSrc)) { CreateAndSetShape(scene, entityId, classId, "{}"); } else { CreateAndSetShape(scene, entityId, classId, JsonConvert.SerializeObject(new { src = remoteSrc })); } SetEntityTransform(scene, scene.entities[entityId], position, Quaternion.identity, Vector3.one); }