Ejemplo n.º 1
0
    public void Update()
    {
        time = time + DT;

        List <int> ids = new List <int>();

        foreach (var a in actors)
        {
            if (a.Value.radius > 0)
            {
                a.Value.Update(ids);
            }
        }

        foreach (var id in ids)
        {
            areas.DelActor(id);
        }

        ids.Clear();
        foreach (var p in points)
        {
            bool needDel = false;
            foreach (var a in actors)
            {
                Actor actor = a.Value;
                if (p.Value.IsColl(actor))
                {
                    needDel = true;

                    actor.AddValue(PointValue);

                    break;
                }
            }

            if (needDel)
            {
                ids.Add(p.Key);
            }
        }

        foreach (var id in ids)
        {
            areas.DelPoint(id);
        }

        areas.Update();
    }