blob: 73b379b931d82ddcfd2f934cf8b4c43a315bdb6f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
using System;
using UILib;
using UnityEngine;
public delegate void SpriteAnimationFinishEventHandler();
public class XUISpriteAnimation : XUIObject, IXUISpriteAnimation
{
protected override void OnAwake()
{
base.OnAwake();
m_Animation = GetComponent<UISpriteAnimation>();
if (m_Animation == null)
{
Debug.Log("no UISpriteAnimation component");
}
}
public void SetNamePrefix(string name)
{
m_Animation.namePrefix = name;
m_Animation.Reset();
}
public void SetNamePrefix(string atlas, string name)
{
m_Animation.sprite.SetAtlas("atlas/UI/" + atlas);
SetNamePrefix(name);
}
public void SetFrameRate(int rate)
{
m_Animation.framesPerSecond = rate;
}
public void Reset()
{
m_Animation.Reset();
m_Animation.LastLoopFinishTime = RealTime.time;
}
public void StopAndReset()
{
m_Animation.StopAndReset();
}
public void RegisterFinishCallback(SpriteAnimationFinishCallback callback)
{
if (callback != null)
{
m_FinishCallback = callback;
m_Animation.FinishHandler = _SpriteAnimationFinished;
}
}
public void MakePixelPerfect()
{
if (m_Animation != null && m_Animation.sprite != null)
m_Animation.sprite.MakePixelPerfect();
}
public void _SpriteAnimationFinished()
{
if (m_FinishCallback != null)
m_FinishCallback(this);
}
private UISpriteAnimation m_Animation;
SpriteAnimationFinishCallback m_FinishCallback;
}
|