示例#1
0
 public Training(Unit pu, Zone pz)
 {
     u = pu;
     z = pz;
     int s = (int)u.GetType().GetField("time").GetRawConstantValue();
     t = new TimeSpan(0, 0, s);
 }
示例#2
0
 public void startTraining(Unit pu)
 {
     map.training.Add(new Training(new Warrior(), this));
 }
示例#3
0
 public void recruit(Unit pu)
 {
     u.inc(pu);
 }
示例#4
0
        public void inc(Unit pu)
        {
            string s = pu.GetType().Name.ToLower() + "Nr";
            FieldInfo f=this.GetType().GetField(s, BindingFlags.NonPublic | BindingFlags.Instance);

            if (f == null)
                throw new Exception("Unit type not found in list !");

            f.SetValue(this, (int)f.GetValue(this)+1);
        }
示例#5
0
        public void trainUnit(Zone z, Unit u)
        {
            if (u == null)
                throw new Exception("Cannot train that unit(null) !");

            z.startTraining(u);
        }