private void OnEnable() { script = (FloatingTransform)target; waterObject = serializedObject.FindProperty("waterObject"); autoFind = serializedObject.FindProperty("autoFind"); dynamicMaterial = serializedObject.FindProperty("dynamicMaterial"); waterLevelSource = serializedObject.FindProperty("waterLevelSource"); waterLevel = serializedObject.FindProperty("waterLevel"); childTransform = serializedObject.FindProperty("childTransform"); heightOffset = serializedObject.FindProperty("heightOffset"); rollAmount = serializedObject.FindProperty("rollAmount"); samples = serializedObject.FindProperty("samples"); //Auto fetch if there is only one water body in the scene if (waterObject.objectReferenceValue == null && WaterObject.Instances.Count == 1) { serializedObject.Update(); waterObject.objectReferenceValue = WaterObject.Instances[0]; EditorUtility.SetDirty(target); serializedObject.ApplyModifiedPropertiesWithoutUndo(); } ValidateMaterial(); }
private static void AddFloatingTransform(MenuCommand cmd) { Transform t = (Transform)cmd.context; if (!t.gameObject.GetComponent <FloatingTransform>()) { FloatingTransform component = t.gameObject.AddComponent <FloatingTransform>(); } EditorUtility.SetDirty(t); }