public static LivingInfo GetLivingInfo(LivingID livingID) { Debug.Assert(livingID != LivingID.Undefined); Debug.Assert(s_livings[(int)livingID] != null); return(s_livings[(int)livingID]); }
AI.Group CreateHerd(int numAnimals, LivingID livingID) { var world = m_env.World; var group = new AI.Group(); var center = m_env.GetRandomEnterableSurfaceLocation(); using (var iter = IntVector2.SquareSpiral(center.ToIntVector2(), 20).GetEnumerator()) { for (int i = 0; i < numAnimals; ++i) { bool ok = true; while (true) { if (iter.MoveNext() == false) { ok = false; break; } var p2 = iter.Current; if (m_env.Size.Plane.Contains(p2) == false) { continue; } var p = m_env.GetSurfaceLocation(p2); if (m_env.CanEnter(p) == false) { continue; } var livingBuilder = new LivingObjectBuilder(livingID); var living = livingBuilder.Create(world); var ai = new Dwarrowdelf.AI.HerbivoreAI(living, world.PlayerID); ai.Group = group; living.SetAI(ai); living.MoveToMustSucceed(m_env, p); break; } if (!ok) { break; } } } return(group); }
public static SymbolID GetSymbol(LivingID id) { var sym = s_symbols[(int)id]; if (sym == SymbolID.Undefined) { return(SymbolID.Unknown); } return(sym); }
AI.Group CreateHerd(int numAnimals, LivingID livingID) { var world = m_env.World; var group = new AI.Group(); var center = m_env.GetRandomEnterableSurfaceLocation(); using (var iter = IntVector2.SquareSpiral(center.ToIntVector2(), 20).GetEnumerator()) { for (int i = 0; i < numAnimals; ++i) { bool ok = true; while (true) { if (iter.MoveNext() == false) { ok = false; break; } var p2 = iter.Current; if (m_env.Size.Plane.Contains(p2) == false) continue; var p = m_env.GetSurfaceLocation(p2); if (m_env.CanEnter(p) == false) continue; var livingBuilder = new LivingObjectBuilder(livingID); var living = livingBuilder.Create(world); var ai = new Dwarrowdelf.AI.HerbivoreAI(living, world.PlayerID); ai.Group = group; living.SetAI(ai); living.MoveToMustSucceed(m_env, p); break; } if (!ok) break; } } return group; }
public LivingObjectBuilder(LivingID livingID) { this.LivingID = livingID; var li = Dwarrowdelf.Livings.GetLivingInfo(this.LivingID); this.Color = li.Color; this.HitPoints = li.Level * 10; this.NaturalAC = li.NaturalAC; Str = Dex = Con = Int = Wis = Cha = li.Level * 10; Siz = li.Size; this.MaterialID = Dwarrowdelf.MaterialID.Flesh; this.VisionRange = 10; this.SkillMap = new Dictionary <SkillID, byte>(); }
public LivingObjectBuilder(LivingID livingID) { this.LivingID = livingID; var li = Dwarrowdelf.Livings.GetLivingInfo(this.LivingID); this.Color = li.Color; this.HitPoints = li.Level * 10; this.NaturalAC = li.NaturalAC; Str = Dex = Con = Int = Wis = Cha = li.Level * 10; Siz = li.Size; this.MaterialID = Dwarrowdelf.MaterialID.Flesh; this.VisionRange = 10; this.SkillMap = new Dictionary<SkillID, byte>(); }
public static SymbolID GetSymbol(LivingID id) { var sym = s_symbols[(int)id]; if (sym == SymbolID.Undefined) return SymbolID.Unknown; return sym; }
public static LivingInfo GetLivingInfo(LivingID livingID) { Debug.Assert(livingID != LivingID.Undefined); Debug.Assert(s_livings[(int)livingID] != null); return s_livings[(int)livingID]; }