Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * The MIT License (MIT)
   *
   * Copyright (c) 2014 Christian Gärtner
   *
   * Permission is hereby granted, free of charge, to any person obtaining a copy
   * of this software and associated documentation files (the "Software"), to deal
   * in the Software without restriction, including without limitation the rights
   * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  * copies of the Software, and to permit persons to whom the Software is
  * furnished to do so, subject to the following conditions:
  *
  * The above copyright notice and this permission notice shall be included in all
  * copies or substantial portions of the Software.
  *
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
 
 package org.achtern.AchternEngine.core.input.inputmap;
 
 import lombok.Getter;
 import lombok.Setter;
 
 import java.util.*;
 
 public class KeyMap implements InputMap<KeyTriggerKeyListener> {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(KeyMap.class);
 
     @Getter @Setter protected InputAdapter input;
 
     protected Map<KeyTriggerList<KeyListener>> listener;
 
     protected Map<KeyTriggerList<KeyListener>> delayed;
 
     protected boolean cycle = false;
 
     public KeyMap(InputAdapter input) {
         this();
         this. = input;
     }
 
     public KeyMap() {
         this. = new HashMap<KeyTriggerList<KeyListener>>();
         this. = new HashMap<KeyTriggerList<KeyListener>>();
     }
 
     public KeyMap register(KeyTrigger keyKeyListener h) {
         if () {
             if (!this..containsKey(key)) {
                 this..put(keynew ArrayList<KeyListener>());
             }
 
             this..get(key).add(h);
             return this;
         }
 
         if (!this..containsKey(key)) {
             this..put(keynew ArrayList<KeyListener>());
         }
 
         this..get(key).add(h);
 
         return this;
     }
 
     public KeyMap register(List<KeyTriggerkeysKeyListener h) {
         for (KeyTrigger t : keys) {
             register(th);
         }
 
         return this;
     }
 
     public void trigger(float delta) {
 
         Set<KeyTriggerkeys = this..keySet();
          = true;
         for (KeyTrigger k : keys) {
 
             if (.getKey(k.get()) && k.getType().equals(..)) {
                 cycle(kdelta);
             }
 
             if (.getKeyDown(k.get()) && k.getType().equals(..)) {
                 cycle(kdelta);
             }
            if (.getKeyUp(k.get()) && k.getType().equals(..)) {
                cycle(kdelta);
            }
        }
         = false;
        if (!.isEmpty()) {
            this..putAll();
            .clear();
            assert .size() == 0;
        }
    }
    protected void cycle(KeyTrigger kfloat delta) {
        for (KeyListener l : this..get(k)) {
            l.onAction(new KeyEvent(k.get(), delta));
        }
    }
        return ;
    }
    public void setClickListener(Map<KeyTriggerList<KeyListener>> listener) {
        this. = listener;
    }
New to GrepCode? Check out our FAQ X