-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathFlic.as
More file actions
112 lines (102 loc) · 3.17 KB
/
Flic.as
File metadata and controls
112 lines (102 loc) · 3.17 KB
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package nativeClasses
{
import dataManager.GlobalStorage;
import flash.events.EventDispatcher;
import flash.events.IEventDispatcher;
import mteam.flic.MteamFlicManager;
import mteam.flic.event.FlicEvent;
public class Flic extends EventDispatcher
{
private static var mteamFlicManager:MteamFlicManager;
public static const saveDevicePaired:String='saveDevicePaired';
private static var _Key:Boolean;
private static var _ignoreFirstClick:Boolean;
private static var _onNewDevicePaired:Function,
_onNoDeviceFound:Function,
_onPrivateButton:Function,
_onButtonDown:Function,
_onButtonUp:Function,
_error:Function;
public static function get Key():Boolean
{
return GlobalStorage.load(saveDevicePaired)!=null && GlobalStorage.load(saveDevicePaired)!='';
}
public static function deleteKey():void
{
GlobalStorage.Delete(saveDevicePaired);
}
public function Flic(target:IEventDispatcher=null)
{
super(target);
trace('Key :',Key)
_ignoreFirstClick = !Key;
}
public static function setup(onNewDevicePaired_p:Function=null,onNoDeviceFound_p:Function=null,onPrivateButton_p:Function=null,onButtonDown_p:Function=null,onButtonUp_p:Function=null,error_p:Function=null):void
{
_onNewDevicePaired = onNewDevicePaired_p;
_onNoDeviceFound = onNoDeviceFound_p;
_onPrivateButton = onPrivateButton_p;
_onButtonDown= onButtonDown_p;
_onButtonUp= onButtonUp_p;
_error= error_p;
try
{
trace('on start init flic')
mteamFlicManager = new MteamFlicManager();
mteamFlicManager.addEventListener(FlicEvent.NewDevicePaired,onNewDevicePaired);
mteamFlicManager.addEventListener(FlicEvent.NoDeviceFound,onNoDeviceFound);
mteamFlicManager.addEventListener(FlicEvent.buttonDown,onButtonDown);
mteamFlicManager.addEventListener(FlicEvent.ButtonUp,onButtonUp);
mteamFlicManager.addEventListener(FlicEvent.PrivateButton,onPrivateButton);
mteamFlicManager.init();
}
catch(e:*)
{
_error.call();
trace('flic init error')
}
}
public static function findNewButton():void
{
mteamFlicManager.FindNewButton();
}
public static function dispose():void
{
mteamFlicManager.dispose();
}
protected static function onNewDevicePaired(event:FlicEvent)
{
GlobalStorage.save(saveDevicePaired,'oneDevaisePaired');
_onNewDevicePaired.call();
trace('******onNewDevicePaired*****')
}
protected static function onNoDeviceFound(event:FlicEvent)
{
_onNoDeviceFound.call();
trace('onNoDeviceFound')
}
protected static function onPrivateButton(event:FlicEvent)
{
_onPrivateButton.call();
trace('onPrivateButton')
}
protected static function onButtonDown(event:FlicEvent)
{
if(lastClick(event.ButtonId))_onButtonDown.call();
}
protected static function onButtonUp(event:FlicEvent)
{
if(lastClick(event.ButtonId))_onButtonUp.call();
}
private static function lastClick(ButtonId_p:String):Boolean
{
trace('Number(ButtonId_p) :',Number(ButtonId_p), '_ignoreFirstClick :',_ignoreFirstClick);
if(Number(ButtonId_p)==0 && !_ignoreFirstClick)
{
return true;
}
_ignoreFirstClick = Number(ButtonId_p)>0;
return false;
}
}
}