public void Update() { lock (OrbLock) { for (int i = tail.Count - 1; i >= 0; i--) { All[tail[i]].Move(log_index(i)); } for (int i = white.Count - 1; i >= 0; i--) { byte id = white[i]; Orb orb = All[id]; orb.Move(logLast()); if (orb.pos * logLast() < speed * 3D && IsNotGrowing()) { if (KingOfTheHill && length >= 3) { white.Remove(id); orb.NewOwner(); orb.v /= 2d; } else if (YeetMode && length > 0) { white.Remove(id); orb.NewOwner(); orb.v /= 2d; } else { white.Remove(id); if (orb.Owner == this.key) { orb.state = (byte)OrbStates.OWNER; if (!tail.Contains(id)) { tail.Add(id); } orb.r = OrbR; new Animation(orb.pos, 5, 0, 0, (float)(OrbR * PHI), OrbR, Color.White, 255); } } } } } }
public override void UpdateLogic() { _orb.Move(); }