internal void Apply(Transform parent, LightSetting lightSetting, List <string> audioClips) { FizzleScene.Camera.GetComponent <Skybox>().material = lightSetting.Skybox; RenderSettings.ambientLight = lightSetting.AmbientLightColor.Replace(a: byte.MaxValue); RenderSettings.ambientIntensity = lightSetting.AmbientLightIntensity; Light light = FizzleBehaviour.Spawn(lightPrefab, parent, "light"); light.color = lightSetting.DirectionalLightColor.Replace(a: byte.MaxValue); light.intensity = lightSetting.DirectionalLightIntensity; FizzleScene.StartOneCoroutine(PlayClip(parent.gameObject.GetComponent <AudioSource>(), audioClips)); }
internal void Generate(Transform itemContainer, Transform terrainContainer) { FizzleJson objects = new FizzleJson(this.objects); List <FizzleJson> list = objects.ToList(); list.Sort((a, b) => orders.IndexOf(a["class"].ToString()) - orders.IndexOf(b["class"].ToString())); foreach (FizzleJson data in objects) { ItemWrapper fizzleItem = itemMapping.GetFizzleItem(data["class"].ToString()); Transform parent = fizzleItem.WrappedItem is FizzleCube ? terrainContainer : itemContainer; ItemWrapper itemWrapper = FizzleBehaviour.Spawn(fizzleItem, parent, data.GetOrDefault("name", "New " + fizzleItem.WrappedItem.GetType().Name)); FizzleJson fizzleJson = data["position"]; itemWrapper.transform.transform.position = new Vector3(fizzleJson[0].ToObject <float>(), fizzleJson[1].ToObject <float>(), fizzleJson[2].ToObject <float>()); itemWrapper.Generate(data); } }