diff --git a/src/Assets/BindingsRx/Bindings.meta b/src/Assets/BindingsRx/Bindings.meta new file mode 100644 index 0000000..2b30489 --- /dev/null +++ b/src/Assets/BindingsRx/Bindings.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: ab96d361bf5346c095d25635765e395c +timeCreated: 1489141562 \ No newline at end of file diff --git a/src/Assets/BindingsRx/UI/CanvasElementExtensions.cs b/src/Assets/BindingsRx/Bindings/CanvasElementExtensions.cs similarity index 96% rename from src/Assets/BindingsRx/UI/CanvasElementExtensions.cs rename to src/Assets/BindingsRx/Bindings/CanvasElementExtensions.cs index f324ad6..a31b199 100644 --- a/src/Assets/BindingsRx/UI/CanvasElementExtensions.cs +++ b/src/Assets/BindingsRx/Bindings/CanvasElementExtensions.cs @@ -1,12 +1,10 @@ using System; using BindingsRx.Filters; -using BindingsRx.GameObjects; -using BindingsRx.Generic; using UniRx; using UnityEngine; using UnityEngine.UI; -namespace BindingsRx.UI +namespace BindingsRx.Bindings { public static class CanvasElementExtensions { diff --git a/src/Assets/BindingsRx/UI/CanvasElementExtensions.cs.meta b/src/Assets/BindingsRx/Bindings/CanvasElementExtensions.cs.meta similarity index 100% rename from src/Assets/BindingsRx/UI/CanvasElementExtensions.cs.meta rename to src/Assets/BindingsRx/Bindings/CanvasElementExtensions.cs.meta diff --git a/src/Assets/BindingsRx/UI/DropdownExtensions.cs b/src/Assets/BindingsRx/Bindings/DropdownExtensions.cs similarity index 97% rename from src/Assets/BindingsRx/UI/DropdownExtensions.cs rename to src/Assets/BindingsRx/Bindings/DropdownExtensions.cs index e6150d1..6fe8341 100644 --- a/src/Assets/BindingsRx/UI/DropdownExtensions.cs +++ b/src/Assets/BindingsRx/Bindings/DropdownExtensions.cs @@ -1,15 +1,11 @@ using System; using System.Collections.Generic; -using System.Linq; -using System.Security.Cryptography.X509Certificates; -using BindingsRx.Extensions; using BindingsRx.Filters; -using BindingsRx.Generic; using UniRx; using UnityEngine; using UnityEngine.UI; -namespace BindingsRx.UI +namespace BindingsRx.Bindings { public static class DropdownExtensions { diff --git a/src/Assets/BindingsRx/UI/DropdownExtensions.cs.meta b/src/Assets/BindingsRx/Bindings/DropdownExtensions.cs.meta similarity index 100% rename from src/Assets/BindingsRx/UI/DropdownExtensions.cs.meta rename to src/Assets/BindingsRx/Bindings/DropdownExtensions.cs.meta diff --git a/src/Assets/BindingsRx/GameObjects/GameObjectExtensions.cs b/src/Assets/BindingsRx/Bindings/GameObjectExtensions.cs similarity index 98% rename from src/Assets/BindingsRx/GameObjects/GameObjectExtensions.cs rename to src/Assets/BindingsRx/Bindings/GameObjectExtensions.cs index 509cf9f..f4ab586 100644 --- a/src/Assets/BindingsRx/GameObjects/GameObjectExtensions.cs +++ b/src/Assets/BindingsRx/Bindings/GameObjectExtensions.cs @@ -1,10 +1,9 @@ using System; using BindingsRx.Filters; -using BindingsRx.Generic; using UniRx; using UnityEngine; -namespace BindingsRx.GameObjects +namespace BindingsRx.Bindings { public static class GameObjectExtensions { diff --git a/src/Assets/BindingsRx/GameObjects/GameObjectExtensions.cs.meta b/src/Assets/BindingsRx/Bindings/GameObjectExtensions.cs.meta similarity index 100% rename from src/Assets/BindingsRx/GameObjects/GameObjectExtensions.cs.meta rename to src/Assets/BindingsRx/Bindings/GameObjectExtensions.cs.meta diff --git a/src/Assets/BindingsRx/Generic/GenericBindings.cs b/src/Assets/BindingsRx/Bindings/GenericBindings.cs similarity index 99% rename from src/Assets/BindingsRx/Generic/GenericBindings.cs rename to src/Assets/BindingsRx/Bindings/GenericBindings.cs index 2586156..ea84315 100644 --- a/src/Assets/BindingsRx/Generic/GenericBindings.cs +++ b/src/Assets/BindingsRx/Bindings/GenericBindings.cs @@ -4,9 +4,8 @@ using BindingsRx.Extensions; using BindingsRx.Filters; using UniRx; -using UnityEngine; -namespace BindingsRx.Generic +namespace BindingsRx.Bindings { public static class GenericBindings { diff --git a/src/Assets/BindingsRx/Generic/GenericBindings.cs.meta b/src/Assets/BindingsRx/Bindings/GenericBindings.cs.meta similarity index 100% rename from src/Assets/BindingsRx/Generic/GenericBindings.cs.meta rename to src/Assets/BindingsRx/Bindings/GenericBindings.cs.meta diff --git a/src/Assets/BindingsRx/UI/InputFieldExtensions.cs b/src/Assets/BindingsRx/Bindings/InputFieldExtensions.cs similarity index 98% rename from src/Assets/BindingsRx/UI/InputFieldExtensions.cs rename to src/Assets/BindingsRx/Bindings/InputFieldExtensions.cs index 7c27ba1..e9e8253 100644 --- a/src/Assets/BindingsRx/UI/InputFieldExtensions.cs +++ b/src/Assets/BindingsRx/Bindings/InputFieldExtensions.cs @@ -1,12 +1,11 @@ using System; using BindingsRx.Convertors; using BindingsRx.Filters; -using BindingsRx.Generic; using UniRx; using UnityEngine; using UnityEngine.UI; -namespace BindingsRx.UI +namespace BindingsRx.Bindings { public static class InputFieldExtensions { diff --git a/src/Assets/BindingsRx/UI/InputFieldExtensions.cs.meta b/src/Assets/BindingsRx/Bindings/InputFieldExtensions.cs.meta similarity index 100% rename from src/Assets/BindingsRx/UI/InputFieldExtensions.cs.meta rename to src/Assets/BindingsRx/Bindings/InputFieldExtensions.cs.meta diff --git a/src/Assets/BindingsRx/Bindings/MaterialExtensions.cs b/src/Assets/BindingsRx/Bindings/MaterialExtensions.cs new file mode 100644 index 0000000..3dbd5f8 --- /dev/null +++ b/src/Assets/BindingsRx/Bindings/MaterialExtensions.cs @@ -0,0 +1,31 @@ +using System; +using BindingsRx.Filters; +using UniRx; +using UnityEngine; + +namespace BindingsRx.Bindings +{ + /// + /// All material bindings require explicit cleanup as Material is not IDisposable + /// + public static class MaterialExtensions + { + public static IDisposable BindColorTo(this Material input, IReactiveProperty property, BindingTypes bindingType = BindingTypes.Default, params IFilter[] filters) + { return GenericBindings.Bind(() => input.color, x => input.color = x, property, bindingType, filters); } + + public static IDisposable BindColorTo(this Material input, Func getter, Action setter, BindingTypes bindingType = BindingTypes.Default, params IFilter[] filters) + { return GenericBindings.Bind(() => input.color, x => input.color = x, getter, setter, bindingType, filters); } + + public static IDisposable BindTextureTo(this Material input, IReactiveProperty property, BindingTypes bindingType = BindingTypes.Default, params IFilter[] filters) + { return GenericBindings.Bind(() => input.mainTexture, x => input.mainTexture = x, property, bindingType, filters); } + + public static IDisposable BindColorTo(this Material input, Func getter, Action setter, BindingTypes bindingType = BindingTypes.Default, params IFilter[] filters) + { return GenericBindings.Bind(() => input.mainTexture, x => input.mainTexture = x, getter, setter, bindingType, filters); } + + public static IDisposable BindShaderTo(this Material input, IReactiveProperty property, BindingTypes bindingType = BindingTypes.Default, params IFilter[] filters) + { return GenericBindings.Bind(() => input.shader, x => input.shader = x, property, bindingType, filters); } + + public static IDisposable BindShaderTo(this Material input, Func getter, Action setter, BindingTypes bindingType = BindingTypes.Default, params IFilter[] filters) + { return GenericBindings.Bind(() => input.shader, x => input.shader = x, getter, setter, bindingType, filters); } + } +} \ No newline at end of file diff --git a/src/Assets/BindingsRx/Bindings/MaterialExtensions.cs.meta b/src/Assets/BindingsRx/Bindings/MaterialExtensions.cs.meta new file mode 100644 index 0000000..4ad7f05 --- /dev/null +++ b/src/Assets/BindingsRx/Bindings/MaterialExtensions.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 62cf4978469649e387b06cdf7853b6d3 +timeCreated: 1489142039 \ No newline at end of file diff --git a/src/Assets/BindingsRx/GameObjects/MonobehaviourExtensions.cs b/src/Assets/BindingsRx/Bindings/MonoBehaviourExtensions.cs similarity index 93% rename from src/Assets/BindingsRx/GameObjects/MonobehaviourExtensions.cs rename to src/Assets/BindingsRx/Bindings/MonoBehaviourExtensions.cs index 011a699..19e23ab 100644 --- a/src/Assets/BindingsRx/GameObjects/MonobehaviourExtensions.cs +++ b/src/Assets/BindingsRx/Bindings/MonoBehaviourExtensions.cs @@ -1,10 +1,9 @@ using System; using BindingsRx.Filters; -using BindingsRx.Generic; using UniRx; using UnityEngine; -namespace BindingsRx.GameObjects +namespace BindingsRx.Bindings { public static class MonoBehaviourExtensions { diff --git a/src/Assets/BindingsRx/GameObjects/MonobehaviourExtensions.cs.meta b/src/Assets/BindingsRx/Bindings/MonoBehaviourExtensions.cs.meta similarity index 100% rename from src/Assets/BindingsRx/GameObjects/MonobehaviourExtensions.cs.meta rename to src/Assets/BindingsRx/Bindings/MonoBehaviourExtensions.cs.meta diff --git a/src/Assets/BindingsRx/GameObjects/RectTransformExtensions.cs b/src/Assets/BindingsRx/Bindings/RectTransformExtensions.cs similarity index 96% rename from src/Assets/BindingsRx/GameObjects/RectTransformExtensions.cs rename to src/Assets/BindingsRx/Bindings/RectTransformExtensions.cs index e7e6216..8b3d75b 100644 --- a/src/Assets/BindingsRx/GameObjects/RectTransformExtensions.cs +++ b/src/Assets/BindingsRx/Bindings/RectTransformExtensions.cs @@ -1,11 +1,9 @@ using System; using BindingsRx.Filters; -using BindingsRx.Generic; -using BindingsRx.UI; using UniRx; using UnityEngine; -namespace BindingsRx.GameObjects +namespace BindingsRx.Bindings { public static class RectTransformExtensions { diff --git a/src/Assets/BindingsRx/GameObjects/RectTransformExtensions.cs.meta b/src/Assets/BindingsRx/Bindings/RectTransformExtensions.cs.meta similarity index 100% rename from src/Assets/BindingsRx/GameObjects/RectTransformExtensions.cs.meta rename to src/Assets/BindingsRx/Bindings/RectTransformExtensions.cs.meta diff --git a/src/Assets/BindingsRx/UI/ScrollBarExtensions.cs b/src/Assets/BindingsRx/Bindings/ScrollBarExtensions.cs similarity index 97% rename from src/Assets/BindingsRx/UI/ScrollBarExtensions.cs rename to src/Assets/BindingsRx/Bindings/ScrollBarExtensions.cs index fab0a67..fee687a 100644 --- a/src/Assets/BindingsRx/UI/ScrollBarExtensions.cs +++ b/src/Assets/BindingsRx/Bindings/ScrollBarExtensions.cs @@ -1,10 +1,9 @@ using System; using BindingsRx.Filters; -using BindingsRx.Generic; using UniRx; using UnityEngine.UI; -namespace BindingsRx.UI +namespace BindingsRx.Bindings { public static class ScrollBarExtensions { diff --git a/src/Assets/BindingsRx/UI/ScrollBarExtensions.cs.meta b/src/Assets/BindingsRx/Bindings/ScrollBarExtensions.cs.meta similarity index 100% rename from src/Assets/BindingsRx/UI/ScrollBarExtensions.cs.meta rename to src/Assets/BindingsRx/Bindings/ScrollBarExtensions.cs.meta diff --git a/src/Assets/BindingsRx/UI/ScrollRectExtensions.cs b/src/Assets/BindingsRx/Bindings/ScrollRectExtensions.cs similarity index 98% rename from src/Assets/BindingsRx/UI/ScrollRectExtensions.cs rename to src/Assets/BindingsRx/Bindings/ScrollRectExtensions.cs index 69749cc..0c5ceaa 100644 --- a/src/Assets/BindingsRx/UI/ScrollRectExtensions.cs +++ b/src/Assets/BindingsRx/Bindings/ScrollRectExtensions.cs @@ -1,10 +1,9 @@ using System; using BindingsRx.Filters; -using BindingsRx.Generic; using UniRx; using UnityEngine.UI; -namespace BindingsRx.UI +namespace BindingsRx.Bindings { public static class ScrollRectExtensions { diff --git a/src/Assets/BindingsRx/UI/ScrollRectExtensions.cs.meta b/src/Assets/BindingsRx/Bindings/ScrollRectExtensions.cs.meta similarity index 100% rename from src/Assets/BindingsRx/UI/ScrollRectExtensions.cs.meta rename to src/Assets/BindingsRx/Bindings/ScrollRectExtensions.cs.meta diff --git a/src/Assets/BindingsRx/UI/SliderExtensions.cs b/src/Assets/BindingsRx/Bindings/SliderExtensions.cs similarity index 97% rename from src/Assets/BindingsRx/UI/SliderExtensions.cs rename to src/Assets/BindingsRx/Bindings/SliderExtensions.cs index 4d1a115..550d591 100644 --- a/src/Assets/BindingsRx/UI/SliderExtensions.cs +++ b/src/Assets/BindingsRx/Bindings/SliderExtensions.cs @@ -1,11 +1,9 @@ using System; -using BindingsRx.Exceptions; using BindingsRx.Filters; -using BindingsRx.Generic; using UniRx; using UnityEngine.UI; -namespace BindingsRx.UI +namespace BindingsRx.Bindings { public static class SliderExtensions { diff --git a/src/Assets/BindingsRx/UI/SliderExtensions.cs.meta b/src/Assets/BindingsRx/Bindings/SliderExtensions.cs.meta similarity index 100% rename from src/Assets/BindingsRx/UI/SliderExtensions.cs.meta rename to src/Assets/BindingsRx/Bindings/SliderExtensions.cs.meta diff --git a/src/Assets/BindingsRx/UI/TextExtensions.cs b/src/Assets/BindingsRx/Bindings/TextExtensions.cs similarity index 98% rename from src/Assets/BindingsRx/UI/TextExtensions.cs rename to src/Assets/BindingsRx/Bindings/TextExtensions.cs index 093afe5..60e2f7c 100644 --- a/src/Assets/BindingsRx/UI/TextExtensions.cs +++ b/src/Assets/BindingsRx/Bindings/TextExtensions.cs @@ -1,12 +1,11 @@ using System; using BindingsRx.Convertors; using BindingsRx.Filters; -using BindingsRx.Generic; using UniRx; using UnityEngine; using UnityEngine.UI; -namespace BindingsRx.UI +namespace BindingsRx.Bindings { public static class TextExtensions { diff --git a/src/Assets/BindingsRx/UI/TextExtensions.cs.meta b/src/Assets/BindingsRx/Bindings/TextExtensions.cs.meta similarity index 100% rename from src/Assets/BindingsRx/UI/TextExtensions.cs.meta rename to src/Assets/BindingsRx/Bindings/TextExtensions.cs.meta diff --git a/src/Assets/BindingsRx/UI/ToggleExtensions.cs b/src/Assets/BindingsRx/Bindings/ToggleExtensions.cs similarity index 93% rename from src/Assets/BindingsRx/UI/ToggleExtensions.cs rename to src/Assets/BindingsRx/Bindings/ToggleExtensions.cs index 2b223c9..1ba299c 100644 --- a/src/Assets/BindingsRx/UI/ToggleExtensions.cs +++ b/src/Assets/BindingsRx/Bindings/ToggleExtensions.cs @@ -1,10 +1,9 @@ using System; using BindingsRx.Filters; -using BindingsRx.Generic; using UniRx; using UnityEngine.UI; -namespace BindingsRx.UI +namespace BindingsRx.Bindings { public static class ToggleExtensions { diff --git a/src/Assets/BindingsRx/UI/ToggleExtensions.cs.meta b/src/Assets/BindingsRx/Bindings/ToggleExtensions.cs.meta similarity index 100% rename from src/Assets/BindingsRx/UI/ToggleExtensions.cs.meta rename to src/Assets/BindingsRx/Bindings/ToggleExtensions.cs.meta diff --git a/src/Assets/BindingsRx/GameObjects/TransformExtensions.cs b/src/Assets/BindingsRx/Bindings/TransformExtensions.cs similarity index 96% rename from src/Assets/BindingsRx/GameObjects/TransformExtensions.cs rename to src/Assets/BindingsRx/Bindings/TransformExtensions.cs index fb6b1f3..3dddfbf 100644 --- a/src/Assets/BindingsRx/GameObjects/TransformExtensions.cs +++ b/src/Assets/BindingsRx/Bindings/TransformExtensions.cs @@ -1,11 +1,9 @@ using System; using BindingsRx.Filters; -using BindingsRx.Generic; -using BindingsRx.UI; using UniRx; using UnityEngine; -namespace BindingsRx.GameObjects +namespace BindingsRx.Bindings { public static class TransformExtensions { diff --git a/src/Assets/BindingsRx/GameObjects/TransformExtensions.cs.meta b/src/Assets/BindingsRx/Bindings/TransformExtensions.cs.meta similarity index 100% rename from src/Assets/BindingsRx/GameObjects/TransformExtensions.cs.meta rename to src/Assets/BindingsRx/Bindings/TransformExtensions.cs.meta diff --git a/src/Assets/BindingsRx/GameObjects.meta b/src/Assets/BindingsRx/GameObjects.meta deleted file mode 100644 index f65151c..0000000 --- a/src/Assets/BindingsRx/GameObjects.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 99f0d2208b6204048aef65399f2bd60a -folderAsset: yes -timeCreated: 1488974647 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/Assets/BindingsRx/Generic.meta b/src/Assets/BindingsRx/Generic.meta deleted file mode 100644 index e72e841..0000000 --- a/src/Assets/BindingsRx/Generic.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 66d9329c156db2f4ca2e17ffc702e047 -folderAsset: yes -timeCreated: 1488884101 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/Assets/BindingsRx/UI.meta b/src/Assets/BindingsRx/UI.meta deleted file mode 100644 index 0515683..0000000 --- a/src/Assets/BindingsRx/UI.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: f1d3dc415b11c2b419ea629ecc63e8bb -folderAsset: yes -timeCreated: 1480283587 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/Assets/Editor/Tests/GenericBindingTests.cs b/src/Assets/Editor/Tests/GenericBindingTests.cs index 2495297..e911703 100644 --- a/src/Assets/Editor/Tests/GenericBindingTests.cs +++ b/src/Assets/Editor/Tests/GenericBindingTests.cs @@ -1,5 +1,5 @@ using BindingsRx; -using BindingsRx.Generic; +using BindingsRx.Bindings; using NUnit.Framework; using UniRx; diff --git a/src/Assets/Examples/InputBindings/SetupDropdownBinding.cs b/src/Assets/Examples/InputBindings/SetupDropdownBinding.cs index 2a93b9a..3cd92b2 100644 --- a/src/Assets/Examples/InputBindings/SetupDropdownBinding.cs +++ b/src/Assets/Examples/InputBindings/SetupDropdownBinding.cs @@ -1,4 +1,4 @@ -using BindingsRx.UI; +using BindingsRx.Bindings; using UniRx; using UnityEngine; using UnityEngine.UI; diff --git a/src/Assets/Examples/InputBindings/SetupTextBinding.cs b/src/Assets/Examples/InputBindings/SetupTextBinding.cs index 0729bfa..07e34c1 100644 --- a/src/Assets/Examples/InputBindings/SetupTextBinding.cs +++ b/src/Assets/Examples/InputBindings/SetupTextBinding.cs @@ -1,4 +1,4 @@ -using BindingsRx.UI; +using BindingsRx.Bindings; using UnityEngine; using UnityEngine.UI; diff --git a/src/Assets/Examples/InputBindings/SetupTextualValueBinding.cs b/src/Assets/Examples/InputBindings/SetupTextualValueBinding.cs index 5f29a8d..a533c20 100644 --- a/src/Assets/Examples/InputBindings/SetupTextualValueBinding.cs +++ b/src/Assets/Examples/InputBindings/SetupTextualValueBinding.cs @@ -1,5 +1,5 @@ using System; -using BindingsRx.UI; +using BindingsRx.Bindings; using UniRx; using UnityEngine; using UnityEngine.UI; diff --git a/src/Assets/Examples/InputBindings/SetupThrottledTextBinding.cs b/src/Assets/Examples/InputBindings/SetupThrottledTextBinding.cs index a99a007..6a5951e 100644 --- a/src/Assets/Examples/InputBindings/SetupThrottledTextBinding.cs +++ b/src/Assets/Examples/InputBindings/SetupThrottledTextBinding.cs @@ -1,6 +1,6 @@ using System; +using BindingsRx.Bindings; using BindingsRx.Filters; -using BindingsRx.UI; using UniRx; using UnityEngine; using UnityEngine.UI; diff --git a/src/Assets/Examples/InputBindings/SetupToggleBinding.cs b/src/Assets/Examples/InputBindings/SetupToggleBinding.cs index 3a7fbf8..7daaada 100644 --- a/src/Assets/Examples/InputBindings/SetupToggleBinding.cs +++ b/src/Assets/Examples/InputBindings/SetupToggleBinding.cs @@ -1,5 +1,5 @@ using BindingsRx; -using BindingsRx.UI; +using BindingsRx.Bindings; using UniRx; using UnityEngine; using UnityEngine.UI; diff --git a/src/src.csproj b/src/src.csproj index 7381c4f..fcb8ca0 100644 --- a/src/src.csproj +++ b/src/src.csproj @@ -83,6 +83,7 @@ + @@ -94,19 +95,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + +