Exemple #1
0
    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);
    }
Exemple #2
0
    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());
    }