示例#1
0
  public Base(Session s) throws Exception {
    s.cacheInstance(this);
    this.world = s.world();
    commerce.loadState(s);
    credits = s.loadFloat();

    ruler = (Actor) s.loadObject();
    s.loadObjects(missions);

    communitySpirit = s.loadFloat();
    alertLevel = s.loadFloat();
    crimeLevel = s.loadFloat();
    averageMood = s.loadFloat();
    for (int n = s.loadInt(); n-- > 0; ) {
      final Relation r = Relation.loadFrom(s);
      baseRelations.put(r.subject, r);
    }

    paving = new Paving(world);
    paving.loadState(s);

    dangerMap = new DangerMap(world, this);
    dangerMap.loadState(s);
    intelMap.loadState(s);
  }
示例#2
0
  public void saveState(Session s) throws Exception {
    commerce.saveState(s);
    s.saveFloat(credits);

    s.saveObject(ruler);
    s.saveObjects(missions);

    s.saveFloat(communitySpirit);
    s.saveFloat(alertLevel);
    s.saveFloat(crimeLevel);
    s.saveFloat(averageMood);
    s.saveInt(baseRelations.size());
    for (Relation r : baseRelations.values()) Relation.saveTo(s, r);

    paving.saveState(s);

    dangerMap.saveState(s);
    intelMap.saveState(s);
  }
示例#3
0
 public float relationWith(Base base) {
   final Relation r = baseRelations.get(base);
   if (r == null) return 0;
   return r.value();
 }
示例#4
0
 /** Dealing with admin functions- */
 public void setRelation(Base base, float attitude) {
   baseRelations.put(base, new Relation(this, base, attitude, -1));
 }