cz.xprees.variables 1.0.17 → 1.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,8 +7,8 @@ ScriptedImporter:
7
7
  userData:
8
8
  assetBundleName:
9
9
  assetBundleVariant:
10
- script: {fileID: 11500000, guid: a57477913897c46af95d590f580878bd, type: 3}
11
- svgType: 1
10
+ script: {fileID: 12408, guid: 0000000000000000e000000000000000, type: 0}
11
+ svgType: 3
12
12
  texturedSpriteMeshType: 0
13
13
  svgPixelsPerUnit: 100
14
14
  gradientResolution: 64
@@ -18,6 +18,7 @@ ScriptedImporter:
18
18
  viewportOptions: 0
19
19
  preserveViewport: 0
20
20
  advancedMode: 0
21
+ tessellationMode: 1
21
22
  predefinedResolutionIndex: 1
22
23
  targetResolution: 1080
23
24
  resolutionMultiplier: 1
@@ -38,18 +39,15 @@ ScriptedImporter:
38
39
  useSVGPixelsPerUnit: 0
39
40
  spriteData:
40
41
  TessellationDetail: 0
42
+ SpriteName:
43
+ SpritePivot: {x: 0, y: 0}
44
+ SpriteAlignment: 0
45
+ SpriteBorder: {x: 0, y: 0, z: 0, w: 0}
41
46
  SpriteRect:
42
- name:
43
- originalName:
44
- pivot: {x: 0, y: 0}
45
- alignment: 0
46
- border: {x: 0, y: 0, z: 0, w: 0}
47
- customData:
48
- rect:
49
- serializedVersion: 2
50
- x: 0
51
- y: 0
52
- width: 0
53
- height: 0
54
- spriteID: f6f1ba242c223c34fa6b25d518211696
47
+ serializedVersion: 2
48
+ x: 0
49
+ y: 0
50
+ width: 0
51
+ height: 0
52
+ SpriteID:
55
53
  PhysicsOutlines: []
@@ -7,8 +7,8 @@ ScriptedImporter:
7
7
  userData:
8
8
  assetBundleName:
9
9
  assetBundleVariant:
10
- script: {fileID: 11500000, guid: a57477913897c46af95d590f580878bd, type: 3}
11
- svgType: 1
10
+ script: {fileID: 12408, guid: 0000000000000000e000000000000000, type: 0}
11
+ svgType: 3
12
12
  texturedSpriteMeshType: 0
13
13
  svgPixelsPerUnit: 100
14
14
  gradientResolution: 64
@@ -18,6 +18,7 @@ ScriptedImporter:
18
18
  viewportOptions: 0
19
19
  preserveViewport: 0
20
20
  advancedMode: 0
21
+ tessellationMode: 1
21
22
  predefinedResolutionIndex: 1
22
23
  targetResolution: 1080
23
24
  resolutionMultiplier: 1
@@ -38,18 +39,15 @@ ScriptedImporter:
38
39
  useSVGPixelsPerUnit: 0
39
40
  spriteData:
40
41
  TessellationDetail: 0
42
+ SpriteName:
43
+ SpritePivot: {x: 0, y: 0}
44
+ SpriteAlignment: 0
45
+ SpriteBorder: {x: 0, y: 0, z: 0, w: 0}
41
46
  SpriteRect:
42
- name:
43
- originalName:
44
- pivot: {x: 0, y: 0}
45
- alignment: 0
46
- border: {x: 0, y: 0, z: 0, w: 0}
47
- customData:
48
- rect:
49
- serializedVersion: 2
50
- x: 0
51
- y: 0
52
- width: 0
53
- height: 0
54
- spriteID: b91443a7c8ef4ed48acf6acf6b064d46
47
+ serializedVersion: 2
48
+ x: 0
49
+ y: 0
50
+ width: 0
51
+ height: 0
52
+ SpriteID:
55
53
  PhysicsOutlines: []
@@ -7,8 +7,8 @@ ScriptedImporter:
7
7
  userData:
8
8
  assetBundleName:
9
9
  assetBundleVariant:
10
- script: {fileID: 11500000, guid: a57477913897c46af95d590f580878bd, type: 3}
11
- svgType: 1
10
+ script: {fileID: 12408, guid: 0000000000000000e000000000000000, type: 0}
11
+ svgType: 3
12
12
  texturedSpriteMeshType: 0
13
13
  svgPixelsPerUnit: 100
14
14
  gradientResolution: 64
@@ -18,6 +18,7 @@ ScriptedImporter:
18
18
  viewportOptions: 0
19
19
  preserveViewport: 0
20
20
  advancedMode: 0
21
+ tessellationMode: 1
21
22
  predefinedResolutionIndex: 1
22
23
  targetResolution: 1080
23
24
  resolutionMultiplier: 1
@@ -38,18 +39,15 @@ ScriptedImporter:
38
39
  useSVGPixelsPerUnit: 0
39
40
  spriteData:
40
41
  TessellationDetail: 0
42
+ SpriteName:
43
+ SpritePivot: {x: 0, y: 0}
44
+ SpriteAlignment: 0
45
+ SpriteBorder: {x: 0, y: 0, z: 0, w: 0}
41
46
  SpriteRect:
42
- name:
43
- originalName:
44
- pivot: {x: 0, y: 0}
45
- alignment: 0
46
- border: {x: 0, y: 0, z: 0, w: 0}
47
- customData:
48
- rect:
49
- serializedVersion: 2
50
- x: 0
51
- y: 0
52
- width: 0
53
- height: 0
54
- spriteID: a8ad95862ebe7e847a51ca50bd11ed43
47
+ serializedVersion: 2
48
+ x: 0
49
+ y: 0
50
+ width: 0
51
+ height: 0
52
+ SpriteID:
55
53
  PhysicsOutlines: []
@@ -7,8 +7,8 @@ ScriptedImporter:
7
7
  userData:
8
8
  assetBundleName:
9
9
  assetBundleVariant:
10
- script: {fileID: 11500000, guid: a57477913897c46af95d590f580878bd, type: 3}
11
- svgType: 1
10
+ script: {fileID: 12408, guid: 0000000000000000e000000000000000, type: 0}
11
+ svgType: 3
12
12
  texturedSpriteMeshType: 0
13
13
  svgPixelsPerUnit: 100
14
14
  gradientResolution: 64
@@ -18,6 +18,7 @@ ScriptedImporter:
18
18
  viewportOptions: 0
19
19
  preserveViewport: 0
20
20
  advancedMode: 0
21
+ tessellationMode: 1
21
22
  predefinedResolutionIndex: 1
22
23
  targetResolution: 1080
23
24
  resolutionMultiplier: 1
@@ -38,18 +39,15 @@ ScriptedImporter:
38
39
  useSVGPixelsPerUnit: 0
39
40
  spriteData:
40
41
  TessellationDetail: 0
42
+ SpriteName:
43
+ SpritePivot: {x: 0, y: 0}
44
+ SpriteAlignment: 0
45
+ SpriteBorder: {x: 0, y: 0, z: 0, w: 0}
41
46
  SpriteRect:
42
- name:
43
- originalName:
44
- pivot: {x: 0, y: 0}
45
- alignment: 0
46
- border: {x: 0, y: 0, z: 0, w: 0}
47
- customData:
48
- rect:
49
- serializedVersion: 2
50
- x: 0
51
- y: 0
52
- width: 0
53
- height: 0
54
- spriteID: 0e9d96a15a4066f44a53b242216feeb8
47
+ serializedVersion: 2
48
+ x: 0
49
+ y: 0
50
+ width: 0
51
+ height: 0
52
+ SpriteID:
55
53
  PhysicsOutlines: []
@@ -7,8 +7,8 @@ ScriptedImporter:
7
7
  userData:
8
8
  assetBundleName:
9
9
  assetBundleVariant:
10
- script: {fileID: 11500000, guid: a57477913897c46af95d590f580878bd, type: 3}
11
- svgType: 1
10
+ script: {fileID: 12408, guid: 0000000000000000e000000000000000, type: 0}
11
+ svgType: 3
12
12
  texturedSpriteMeshType: 0
13
13
  svgPixelsPerUnit: 100
14
14
  gradientResolution: 64
@@ -18,6 +18,7 @@ ScriptedImporter:
18
18
  viewportOptions: 0
19
19
  preserveViewport: 0
20
20
  advancedMode: 0
21
+ tessellationMode: 1
21
22
  predefinedResolutionIndex: 1
22
23
  targetResolution: 1080
23
24
  resolutionMultiplier: 1
@@ -38,18 +39,15 @@ ScriptedImporter:
38
39
  useSVGPixelsPerUnit: 0
39
40
  spriteData:
40
41
  TessellationDetail: 0
42
+ SpriteName:
43
+ SpritePivot: {x: 0, y: 0}
44
+ SpriteAlignment: 0
45
+ SpriteBorder: {x: 0, y: 0, z: 0, w: 0}
41
46
  SpriteRect:
42
- name:
43
- originalName:
44
- pivot: {x: 0, y: 0}
45
- alignment: 0
46
- border: {x: 0, y: 0, z: 0, w: 0}
47
- customData:
48
- rect:
49
- serializedVersion: 2
50
- x: 0
51
- y: 0
52
- width: 0
53
- height: 0
54
- spriteID: 7cbc09a4697b2c24bbe931e205c1b3b9
47
+ serializedVersion: 2
48
+ x: 0
49
+ y: 0
50
+ width: 0
51
+ height: 0
52
+ SpriteID:
55
53
  PhysicsOutlines: []
@@ -7,8 +7,8 @@ ScriptedImporter:
7
7
  userData:
8
8
  assetBundleName:
9
9
  assetBundleVariant:
10
- script: {fileID: 11500000, guid: a57477913897c46af95d590f580878bd, type: 3}
11
- svgType: 1
10
+ script: {fileID: 12408, guid: 0000000000000000e000000000000000, type: 0}
11
+ svgType: 3
12
12
  texturedSpriteMeshType: 0
13
13
  svgPixelsPerUnit: 100
14
14
  gradientResolution: 64
@@ -18,6 +18,7 @@ ScriptedImporter:
18
18
  viewportOptions: 0
19
19
  preserveViewport: 0
20
20
  advancedMode: 0
21
+ tessellationMode: 1
21
22
  predefinedResolutionIndex: 1
22
23
  targetResolution: 1080
23
24
  resolutionMultiplier: 1
@@ -38,18 +39,15 @@ ScriptedImporter:
38
39
  useSVGPixelsPerUnit: 0
39
40
  spriteData:
40
41
  TessellationDetail: 0
42
+ SpriteName:
43
+ SpritePivot: {x: 0, y: 0}
44
+ SpriteAlignment: 0
45
+ SpriteBorder: {x: 0, y: 0, z: 0, w: 0}
41
46
  SpriteRect:
42
- name:
43
- originalName:
44
- pivot: {x: 0, y: 0}
45
- alignment: 0
46
- border: {x: 0, y: 0, z: 0, w: 0}
47
- customData:
48
- rect:
49
- serializedVersion: 2
50
- x: 0
51
- y: 0
52
- width: 0
53
- height: 0
54
- spriteID: 1e2dad435926f9848b852cdf94bf8e05
47
+ serializedVersion: 2
48
+ x: 0
49
+ y: 0
50
+ width: 0
51
+ height: 0
52
+ SpriteID:
55
53
  PhysicsOutlines: []
@@ -7,8 +7,8 @@ ScriptedImporter:
7
7
  userData:
8
8
  assetBundleName:
9
9
  assetBundleVariant:
10
- script: {fileID: 11500000, guid: a57477913897c46af95d590f580878bd, type: 3}
11
- svgType: 1
10
+ script: {fileID: 12408, guid: 0000000000000000e000000000000000, type: 0}
11
+ svgType: 3
12
12
  texturedSpriteMeshType: 0
13
13
  svgPixelsPerUnit: 100
14
14
  gradientResolution: 64
@@ -18,6 +18,7 @@ ScriptedImporter:
18
18
  viewportOptions: 0
19
19
  preserveViewport: 0
20
20
  advancedMode: 0
21
+ tessellationMode: 1
21
22
  predefinedResolutionIndex: 1
22
23
  targetResolution: 1080
23
24
  resolutionMultiplier: 1
@@ -38,18 +39,15 @@ ScriptedImporter:
38
39
  useSVGPixelsPerUnit: 0
39
40
  spriteData:
40
41
  TessellationDetail: 0
42
+ SpriteName:
43
+ SpritePivot: {x: 0, y: 0}
44
+ SpriteAlignment: 0
45
+ SpriteBorder: {x: 0, y: 0, z: 0, w: 0}
41
46
  SpriteRect:
42
- name:
43
- originalName:
44
- pivot: {x: 0, y: 0}
45
- alignment: 0
46
- border: {x: 0, y: 0, z: 0, w: 0}
47
- customData:
48
- rect:
49
- serializedVersion: 2
50
- x: 0
51
- y: 0
52
- width: 0
53
- height: 0
54
- spriteID: b7ae77a812a69f8499a247e4a47a1ceb
47
+ serializedVersion: 2
48
+ x: 0
49
+ y: 0
50
+ width: 0
51
+ height: 0
52
+ SpriteID:
55
53
  PhysicsOutlines: []
@@ -17,7 +17,37 @@ namespace Xprees.Variables.Base
17
17
  public T inlinedValue;
18
18
  public VariableBaseSO<T> variable;
19
19
 
20
- public UnityAction<T> onValueChanged = delegate { };
20
+ // Internal event for inlined value changes, since VariableBaseSO already has its own onValueChanged event.
21
+ private UnityAction<T> _onInlinedValueChanged;
22
+
23
+ // ReSharper disable once InconsistentNaming
24
+ /// Event invoked when Value changes.
25
+ public event UnityAction<T> onValueChanged
26
+ {
27
+ add
28
+ {
29
+ var shouldRedirectToVarEvent = !useInlined && variable != null;
30
+ if (shouldRedirectToVarEvent)
31
+ {
32
+ variable.onValueChanged += value;
33
+ return;
34
+ }
35
+
36
+ _onInlinedValueChanged += value;
37
+ }
38
+
39
+ remove
40
+ {
41
+ var shouldRedirectToVarEvent = !useInlined && variable != null;
42
+ if (shouldRedirectToVarEvent)
43
+ {
44
+ variable.onValueChanged -= value;
45
+ return;
46
+ }
47
+
48
+ _onInlinedValueChanged -= value;
49
+ }
50
+ }
21
51
 
22
52
  public ReferenceBase()
23
53
  {
@@ -38,12 +68,12 @@ namespace Xprees.Variables.Base
38
68
  if (useInlined)
39
69
  {
40
70
  inlinedValue = value;
41
- onValueChanged?.Invoke(value);
71
+ _onInlinedValueChanged?.Invoke(value); // Invoke inlined value change event
42
72
  return;
43
73
  }
44
74
 
75
+ // VariableBaseSO will invoke its own onValueChanged event, so no need to invoke here.
45
76
  variable.SetValue(value);
46
- onValueChanged?.Invoke(value); // ignores that variable has its own onValueChanged
47
77
  }
48
78
  }
49
79
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cz.xprees.variables",
3
3
  "displayName": "Variables",
4
- "version": "1.0.17",
4
+ "version": "1.0.19",
5
5
  "unity": "2021.3",
6
6
  "description": "This package contains a system for creating variables based on ScriptableObjects in Editor.",
7
7
  "license": "Apache-2.0",