GeneratorSet.java
01 /*
02  *
03  * Created: Jun  7 2006
04  *
05  * Copyright (C) 1999-2000 Fabien Sanglard
06  
07  * This program is free software; you can redistribute it and/or
08  * modify it under the terms of the GNU General Public License
09  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20  */
21 
22 package generator;
23 
24 import java.util.ArrayList;
25 import java.util.Iterator;
26 
27 import rtype.Prototyp;
28 
29 public class GeneratorSet
30 {
31   ArrayList<IGenerator> generators = new ArrayList<IGenerator>();
32   float timeAccumulator = 0;
33   
34   public void addGenerator(IGenerator gen)
35   {
36     generators.add(gen);
37   }
38   
39   public void removeGenerator(IGenerator gen)
40   {
41     generators.remove(gen);
42   }
43   
44   public void generate()
45   {
46     timeAccumulator += Prototyp.tick;
47     
48     IGenerator generator = null;
49     for (Iterator<IGenerator> iterator = generators.iterator(); iterator.hasNext() ;)
50     {
51       generator = iterator.next();
52       
53       if (timeAccumulator > generator.getDelay())
54         generator.generateEntities();
55       
56       if (generator.isDone())
57         iterator.remove();
58     }
59     
60   }
61   
62   public boolean contains(IGenerator gen)
63   {
64     return (this.generators.indexOf(gen0);
65   }
66 }