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