54 lines
1.8 KiB
Java
54 lines
1.8 KiB
Java
package MonorailHard.Generics;
|
|
|
|
import MonorailHard.DrawningObjects.DrawningMonorail;
|
|
import MonorailHard.MovementStrategy.DrawningObjectMonorail;
|
|
|
|
import java.util.Dictionary;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Queue;
|
|
import java.util.stream.Collectors;
|
|
|
|
public class MonorailGenericStorage {
|
|
final HashMap<String, MonorailGenericCollection<DrawningMonorail, DrawningObjectMonorail>> _monorailStorages;
|
|
public List<String> Keys(){
|
|
if(_monorailStorages == null)
|
|
return null;
|
|
return _monorailStorages.keySet().stream().collect(Collectors.toList());
|
|
}
|
|
private final int _pictureWidth;
|
|
private final int _pictureHeight;
|
|
|
|
public MonorailGenericStorage(int pictureWidth, int pictureHeight){
|
|
_monorailStorages = new HashMap<>();
|
|
_pictureWidth = pictureWidth;
|
|
_pictureHeight = pictureHeight;
|
|
}
|
|
|
|
public void AddSet(String name){
|
|
if(_monorailStorages.containsKey(name))
|
|
return;
|
|
_monorailStorages.put(name, new MonorailGenericCollection<>(_pictureWidth, _pictureHeight));
|
|
}
|
|
|
|
public void DelSet(String name, MonorailTrashCollection<DrawningMonorail> trashBox){
|
|
if(!_monorailStorages.containsKey(name))
|
|
return;
|
|
MonorailGenericCollection<DrawningMonorail, DrawningObjectMonorail> cur = _monorailStorages.get(name);
|
|
for(int i = 0; i < cur.Size(); i++)
|
|
trashBox.Push(cur.Get(i));
|
|
|
|
_monorailStorages.remove(name);
|
|
}
|
|
|
|
public MonorailGenericCollection<DrawningMonorail, DrawningObjectMonorail> Get(String name){
|
|
if(!_monorailStorages.containsKey(name))
|
|
return null;
|
|
return _monorailStorages.get(name);
|
|
}
|
|
|
|
public DrawningMonorail Get(String collectionName, int position){
|
|
return _monorailStorages.get(collectionName).Get(position);
|
|
}
|
|
}
|