Package skadistats.clarity.match

Source Code of skadistats.clarity.match.ModifierCollection

package skadistats.clarity.match;

import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import skadistats.clarity.model.ModifierTableEntry;

import com.dota2.proto.DotaModifiers.CDOTAModifierBuffTableEntry;
import com.rits.cloning.Cloner;

public class ModifierCollection implements Cloneable {
   
    private static final Cloner CLONER = new Cloner();
   
    private final List<ModifierTableEntry> modifiers = new LinkedList<ModifierTableEntry>();
    private final Map<Integer, LinkedList<ModifierTableEntry>> modifiersForEntity = new HashMap<Integer, LinkedList<ModifierTableEntry>>();

    public ModifierCollection() {
    }
   
    public ModifierTableEntry add(CDOTAModifierBuffTableEntry tableEntry) {
      ModifierTableEntry newModifier = new ModifierTableEntry(tableEntry);
        modifiers.add(newModifier);
        //int entityIndex = tableEntry.getParent() & 0x7FF;
        if(modifiersForEntity.containsKey(tableEntry.getParent())){
          modifiersForEntity.get(tableEntry.getParent()).add(newModifier);
        }
        else{
          LinkedList<ModifierTableEntry> list = new LinkedList<ModifierTableEntry>();
          list.add(newModifier);
          modifiersForEntity.put(tableEntry.getParent(), list);
        }
        return newModifier;
    }
   
    public void clear(){
      modifiers.clear();
      modifiersForEntity.clear();
    }
   
    public List<ModifierTableEntry> getAll() {
      return modifiers;
    }

    public List<ModifierTableEntry> getAllForEntity(int handle) {
      if(modifiersForEntity.containsKey(handle))
        return modifiersForEntity.get(handle);
      else
        return new LinkedList<ModifierTableEntry>();
    }
   
   
    @Override
    public ModifierCollection clone() {
       return CLONER.deepClone(this);
    }
   

}
TOP

Related Classes of skadistats.clarity.match.ModifierCollection

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.