private void PrepareInstance(ForgelightActor actor, Object.Instance data) { actor.transform.SetParent(zoneObjects.transform); TransformData convertedTransform = MathUtils.ConvertTransform(data.Position, data.Rotation, data.Scale, true, TransformMode.Standard); actor.transform.SetPositionAndRotation(convertedTransform.Position, Quaternion.Euler(convertedTransform.Rotation)); actor.transform.localScale = convertedTransform.Scale; actor.ID = data.ID; actor.DontCastShadows = data.DontCastShadows; actor.LODMultiplier = data.LODMultiplier; }
public async Task <ForgelightActor[]> CreateActorInstances(Object objectDef) { ForgelightActor[] actors = new ForgelightActor[objectDef.Instances.Count]; for (int i = 0; i < objectDef.Instances.Count; i++) { actors[i] = await actorFactory.CreateActor(objectDef.ActorDefinition, zoneObjects.transform); PrepareInstance(actors[i], objectDef.Instances[i]); } return(actors); }