Ejemplo n.º 1
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);
        }
Ejemplo n.º 2
0
        private async Task LoadZoneObjects(Zone zone)
        {
            Task[] objTasks = new Task[zone.Objects.Count];

            for (int i = 0; i < zone.Objects.Count; i++)
            {
                Object zoneObject = zone.Objects[i];
                objTasks[i] = CreateActorInstances(zoneObject);

                statusReporter.ReportProgress("Loading Zone Objects", i, zone.Objects.Count);
                await new WaitForUpdate();
            }

            foreach (Task objTask in objTasks)
            {
                await objTask;
            }

            statusReporter.ReportProgress("Loading Zone Objects", zone.Objects.Count, zone.Objects.Count);
            zoneObjects.transform.localScale = new Vector3(-1, 1, 1);
        }