void SetUnbalanceGroups(Block.Group group) { HashSet<Block.Group> unbalanceGroups = group.LookUpUnbalanceGroups(); foreach (Block.Group g in unbalanceGroups) { foreach (Block member in g) { this.unbalanceBlocks.Add(member); member.ShakeStart(this.shakeTime); } } this.unbalanceBlocks.Sort(delegate(Block a, Block b) { return (a.pos.y < b.pos.y ? 1 : -1); }); }