View difference between Paste ID: RqUVuqGX and D8nPNDhM
SHOW: | | - or go back to the newest paste.
1
// DroneController.hx
2
if(mause.started()){
3
x = pickClosest(mause)
4
if(x.distanceIsOk && x.hasTrait("Pickable")){ // not to far
5
	x.getTrait(Pickable).pick();
6
}
7
}
8
9
// Pickable.hx - add to all buttons, set values - 1,2,3.. clear, back
10
class Pickable {
11
  @prop
12
  public var value: string / dynamic? = null;
13
  public var callback: Void->Void = null; // Or use events, but they suck?
14
15
  fn pick(){
16
   if(value && callback) callback(value);
17
  }
18
}
19
20
// DoorController.hx
21
22
....
23
24
onInit(){
25
  for(x in allButtons){
26
   y = x.getTrait(Pickable);
27
   // can also set value here y.value = 'xxxx';
28
   y.callback = function(value: string){
29-
      this.registerButtonPress(value);
29+
      this.registerButtonPress(x, value);
30
   }
31
  }
32
}
33
34-
registerButtonPress(value){
34+
registerButtonPress(btn, value){
35
  doorDisplayTr = object.getChild('display..').getTrait('DoorDisplay'); /// better on init once
36-
    // Do shit
36+
37
    enterArray.push(something);// Populate arr orsmth
38
    Event.send()//for anim
39
    doorDisplayTr.chaneCode(enterArray);
40
  }
41
}