3
3
using UnityEngine ;
4
4
using UnityEngine . UI ;
5
5
6
+ [ ExecuteInEditMode ]
6
7
public class SpriteGraphic02 : MaskableGraphic
7
8
{
8
9
#region 属性
@@ -19,13 +20,18 @@ public class SpriteGraphic02 : MaskableGraphic
19
20
[ SerializeField ]
20
21
private float _speed ;
21
22
22
- private MeshInfo _meshInfo = new MeshInfo ( ) ;
23
+ private MeshInfo _meshInfo ;
23
24
public MeshInfo MeshInfo
24
25
{
25
26
get { return _meshInfo ; }
26
27
set
27
28
{
28
- _meshInfo = value ;
29
+ if ( value == null && _meshInfo != null )
30
+ {
31
+ _meshInfo . Clear ( ) ;
32
+ }
33
+ else
34
+ _meshInfo = value ;
29
35
30
36
SetAllDirty ( ) ;
31
37
}
@@ -54,23 +60,17 @@ public override Material material
54
60
_defaultMater = new Material ( Shader . Find ( _defaultShader ) ) ;
55
61
_defaultMater . SetFloat ( "_CellAmount" , _cellAmount ) ;
56
62
_defaultMater . SetFloat ( "_Speed" , _speed ) ;
57
- //_defaultMater.SetTexture("_MainTex", mainTexture);
58
- // _defaultMater.EnableKeyword("EMOJI_ANIMATION");
59
- _defaultMater . DisableKeyword ( "EMOJI_ANIMATION" ) ;
60
- }
63
+ if ( m_spriteAsset == null || m_spriteAsset . IsStatic )
64
+ _defaultMater . DisableKeyword ( "EMOJI_ANIMATION" ) ;
65
+ else
66
+ _defaultMater . EnableKeyword ( "EMOJI_ANIMATION" ) ;
67
+
68
+ }
61
69
return _defaultMater ;
62
70
}
63
71
}
64
72
#endregion
65
-
66
- protected InlineManager _inlineManager ;
67
-
68
- protected override void OnEnable ( )
69
- {
70
- base . OnEnable ( ) ;
71
- _inlineManager = GetComponentInParent < InlineManager > ( ) ;
72
- }
73
-
73
+
74
74
protected override void OnPopulateMesh ( VertexHelper vh )
75
75
{
76
76
if ( _meshInfo != null )
@@ -79,7 +79,7 @@ protected override void OnPopulateMesh(VertexHelper vh)
79
79
for ( int i = 0 ; i < _meshInfo . Vertices . Count ; i ++ )
80
80
{
81
81
int tempVertsIndex = i & 3 ;
82
- _tempVerts [ tempVertsIndex ] . position = Utility . Transform2World2Point ( transform , _meshInfo . Vertices [ i ] ) ;
82
+ _tempVerts [ tempVertsIndex ] . position = Utility . TransformWorld2Point ( transform , _meshInfo . Vertices [ i ] ) ;
83
83
_tempVerts [ tempVertsIndex ] . uv0 = _meshInfo . UVs [ i ] ;
84
84
_tempVerts [ tempVertsIndex ] . color = color ;
85
85
if ( tempVertsIndex == 3 )
0 commit comments