Advertisement
Guest User

Untitled

a guest
Jan 13th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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 listeners: Void->Void[] = []; // Or maybe a map?
  14.  
  15.   fn pick(){
  16.    if(value && listeners.length > 0) *loop listeners and call them with 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.listeners.push/add(function(value: string){ // so we can also remove later
  29.       this.registerButtonPress(x, value);
  30.    });
  31.   }
  32. }
  33.  
  34. registerButtonPress(btn, value){
  35.   doorDisplayTr = object.getChild('display..').getTrait('DoorDisplay'); /// better on init once
  36.   switch value {
  37.     enterArray.push(something);// Populate arr orsmth
  38.     Event.send()//for anim
  39.     doorDisplayTr.chaneCode(enterArray);
  40.   }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement