public override void OnStart(StartState state) { base.OnStart(state); BaseField statusField = base.Fields["status"]; statusField.guiName = statusText; lights = new UtilisLightList(part.FindModelComponents <Light>()); if (proceduralDeploy || manualDeploy) { if (transformName != string.Empty) { pivot = part.FindModelTransform(transformName); if (persistent) { Vector3 old = pivot.localEulerAngles; switch (axis) { case "x": pivot.localEulerAngles = new Vector3(last, old.y, old.z); break; case "y": pivot.localEulerAngles = new Vector3(old.x, last, old.z); break; case "z": pivot.localEulerAngles = new Vector3(old.x, old.y, last); break; } } } else { log("ERROR: <string> 'transformName' is empty. Check CFG file. 'proceduralDeploy' or 'manualDeploy' were set to True"); throw new Exception("ERROR: Pivot Transform set to null. "); } } if (usedRenderers.Count <= 1) { renderers = part.FindModelComponents <Renderer>(); } else { int count = usedRenderers.Count; for (int i = 0; i < count; i++) { renderers.Add(part.FindModelComponent <Renderer>(usedRenderers[i])); } } mpb = new MaterialPropertyBlock(); if (string.IsNullOrEmpty(shaderProperty)) { log("shaderProperty returned empty or null. Check CFG file."); } else { shaderPropertyInt = Shader.PropertyToID(shaderProperty); } }
private void Setup() { //get events //u = new UtilisLog("["+ModuleID+"]"); turnOn = base.Events["LightOn"]; turnOff = base.Events["LightOff"]; setupFields(base.Fields["Intensity"], AdvancedLightTweakable); setupFields(base.Fields["Range"], AdvancedLightTweakable); setupFields(base.Fields["SpotAngle"], AdvancedLightTweakable); //u.Log ("base.Events setup complete."); //u.Log ("ToggleState called."); //get lights if (lightsName != string.Empty) { List <Light> lights = part.FindModelComponents <Light>(lightsName); if (lights.Count != 0 || lights != null) { LightList = new UtilisLightList(lights); //u.Log ("LightList created"); } else { //u.Exception("<string> lightsName FindModelComponents query returned null or had a length of 0."); } } else { //u.Exception("<string> lightsName is empty."); } //get renderers List <Renderer> rList = part.FindModelComponents <Renderer>(); if (!string.IsNullOrEmpty(excludeRenderList)) { if (rList != null || rList.Count > 0) { renderers = new UtilisRendererList(rList, excludedRenderers, ShaderProperty); } else { //u.Exception("No Unity Renderer components found in model.mu file."); } } else { //u.Log ("No excluded Renderers found."); if (rList != null || rList.Count > 0) { renderers = new UtilisRendererList(rList, ShaderProperty); } } //u.Log ("LightList state is set."); //u.Log ("renderers state is set."); //set events state if (isOn) { LightList.Enable(); //UpdateColor(Color.cyan); turnOn.active = false; turnOff.active = true; } else { LightList.Disable(); //UpdateColor(Color.black); turnOn.active = true; turnOff.active = false; } //part.AddOnMouseExit(new Part.OnActionDelegate(OnMouseExit)); }