| 1 2 23 package com.geinuke.block; 24 25 import java.util.ArrayList ; 26 import java.util.HashMap ; 27 28 import com.geinuke.common.NukeBlockI; 29 30 31 public class BlockContainer { 32 33 protected HashMap map=null; 34 public BlockContainer(){ 35 map=new HashMap (); 36 } 37 protected void insertOrd(ArrayList list,NukeBlockI bl){ 38 39 NukeBlockI cb=null; 40 int cur=0; 41 boolean found=false; 42 for(int i=0;i<list.size() && !found;i++){ 44 cb=(NukeBlockI)list.get(i); 45 if(bl.getWeight()<cb.getWeight()){ 46 cur=i; 47 found=true; 48 } 49 } 50 if(!found){ 51 list.add(bl); 52 }else{ 53 list.add(cur,bl); 54 } 55 } 56 public void addBlockInPosition(NukeBlockI block){ 57 int pos=block.getPos(); 58 ArrayList blocks=null; 60 blocks=(ArrayList )map.get(pos+""); 61 if(blocks!=null){ 64 this.insertOrd(blocks,block); 66 }else{ 67 68 blocks=new ArrayList (); 69 blocks.add(block); 70 map.put(pos+"",blocks); 71 } 72 } 73 74 public void addBlocks(ArrayList blocks){ 75 NukeBlockI block=null; 76 for(int i=0;i<blocks.size();i++){ 78 block=(NukeBlockI)blocks.get(i); 79 this.addBlockInPosition(block); 80 } 81 } 82 83 public ArrayList getBlocksAt(String pos){ 84 return (ArrayList )map.get(pos); 85 } 86 87 public void setBlocksAt(String pos,ArrayList blocks){ 88 map.put(pos,blocks); 89 } 90 91 public String STRING(){ 92 return map.toString(); 93 } 94 95 } 96 | Popular Tags |