Example #1
0
        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;
        }
Example #2
0
        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);
        }