@@ -6,17 +6,18 @@ namespace Gameframe.Bindings
6
6
public class GameObjectSetActiveBinding : BindingBehaviour
7
7
{
8
8
public GameObject target ;
9
- public ConversionType conversionType = ConversionType . EnableWhenNotEqual ;
9
+ public ConversionType conversionType = ConversionType . EnableWhenNumberNotEqual ;
10
10
public int numberCompareValue = 0 ;
11
11
public string stringCompareValue = string . Empty ;
12
12
public bool invert = false ;
13
13
14
14
public enum ConversionType
15
15
{
16
- EnableWhenNotEqual ,
17
- EnableWhenGreaterThan ,
18
- EnableWhenLessThan ,
19
- EnableWhenNotNull ,
16
+ None ,
17
+ EnableWhenNumberNotEqual ,
18
+ EnableWhenNumberGreaterThan ,
19
+ EnableWhenNumberLessThan ,
20
+ EnableWhenObjectNotNull ,
20
21
EnableWhenStringEquals
21
22
}
22
23
@@ -41,11 +42,21 @@ protected override void SetupBindingTarget(Binding binding)
41
42
42
43
private object Converter ( object sourceValue )
43
44
{
44
- if ( invert )
45
+ try
45
46
{
46
- return ! ConvertValue ( sourceValue ) ;
47
+ if ( invert )
48
+ {
49
+ return ! ConvertValue ( sourceValue ) ;
50
+ }
51
+
52
+ return ConvertValue ( sourceValue ) ;
53
+ }
54
+ catch ( Exception exception )
55
+ {
56
+ Debug . LogError ( $ "GameObjectSetActiveBinding conversion failed with exception: { exception } ", this ) ;
57
+ enabled = false ;
58
+ return false ;
47
59
}
48
- return ConvertValue ( sourceValue ) ;
49
60
}
50
61
51
62
private bool ConvertValue ( object sourceValue )
@@ -57,16 +68,18 @@ private bool ConvertValue(object sourceValue)
57
68
58
69
switch ( conversionType )
59
70
{
60
- case ConversionType . EnableWhenNotNull :
71
+ case ConversionType . EnableWhenObjectNotNull :
61
72
return true ;
62
- case ConversionType . EnableWhenNotEqual :
73
+ case ConversionType . EnableWhenNumberNotEqual :
63
74
return ConvertNotEqual ( sourceValue ) ;
64
- case ConversionType . EnableWhenGreaterThan :
75
+ case ConversionType . EnableWhenNumberGreaterThan :
65
76
return ConvertGreaterThan ( sourceValue ) ;
66
- case ConversionType . EnableWhenLessThan :
77
+ case ConversionType . EnableWhenNumberLessThan :
67
78
return ConvertLessThan ( sourceValue ) ;
68
79
case ConversionType . EnableWhenStringEquals :
69
80
return ( ( string ) sourceValue ) == stringCompareValue ;
81
+ case ConversionType . None :
82
+ return ( bool ) sourceValue ;
70
83
default :
71
84
throw new ArgumentOutOfRangeException ( ) ;
72
85
}
0 commit comments