void Constructor(UrbMap CreatingMap) { Occupants = new List <UrbAgent>(); Contents = new List <UrbAgent>(); OwningMap = CreatingMap; TerrainFilter = new UrbScent[MaxTerrain][]; for (int i = 0; i < MaxTerrain; i++) { TerrainFilter[i] = new UrbScent[MaxSize]; for (int ii = 0; ii < MaxSize; ii++) { TerrainFilter[i][ii] = new UrbScent(); } } Environment = new UrbEnvironment(this); }
public IEnumerator ReceiveScent(UrbScent input, float Diffusion = 1.0f) { s_ReceiveScent_p.Begin(); for (int i = 0; i < MaxTag; i++) { if (!input.DirtyTags[i]) { continue; } if (Tags[i] < input.Tags[i] * Diffusion) { this[i] = input.Tags[i] * Diffusion; } } s_ReceiveScent_p.End(); yield return(ScentThrottle.PerformanceThrottle()); }