Advertisement
Guest User

Untitled

a guest
Jan 13th, 2019
99
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 = null;
  13.   public var signal: Signal;
  14.  
  15.   new(){
  16.     signal = new Signal()<String>;
  17.   }
  18.  
  19.   fn pick(){
  20.    if(value) signal.dispatch(value);
  21.   }
  22. }
  23.  
  24. // DoorController.hx
  25.  
  26. ....
  27.  
  28. onInit(){
  29.   for(x in allButtons){
  30.    y = x.getTrait(Pickable);
  31.    // can also set value here y.value = 'xxxx';
  32.    y.signal.add(function(value: string){ // so we can also remove later
  33.       this.registerButtonPress(x, value);
  34.    });
  35.   }
  36. }
  37.  
  38. registerButtonPress(btn, value){
  39.   doorDisplayTr = object.getChild('display..').getTrait('DoorDisplay'); /// better on init once
  40.   switch value {
  41.     enterArray.push(something);// Populate arr orsmth
  42.     Event.send()//for anim
  43.     doorDisplayTr.chaneCode(enterArray);
  44.   }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement