public override void OnUpdate()
            {
                WorldSide localSide = World_AIW2.Instance.GetLocalPlayerSide();

                if (localSide == null)
                {
                    return;
                }
                ArcenUI_ButtonSet elementAsType = (ArcenUI_ButtonSet)Element;

                if (this.TimeOfLastUpdate < Engine_AIW2.Instance.TimeOfLastControlGroupChange)
                {
                    this.TimeOfLastUpdate = DateTime.Now;
                    elementAsType.ClearButtons();

                    int x = 0;
                    localSide.DoForControlGroups(delegate(ControlGroup group)
                    {
                        bControlGroupItem newButtonController = new bControlGroupItem(group);
                        Vector2 offset;
                        offset.x = x * elementAsType.ButtonWidth;
                        offset.y = 0;
                        Vector2 size;
                        size.x = elementAsType.ButtonWidth;
                        size.y = elementAsType.ButtonHeight;
                        elementAsType.AddButton(newButtonController, size, offset);
                        x++;
                        return(DelReturn.Continue);
                    });

                    {
                        bCreateControlGroup newButtonController = new bCreateControlGroup();
                        Vector2             offset;
                        offset.x = x * elementAsType.ButtonWidth;
                        offset.y = 0;
                        Vector2 size;
                        size.x = elementAsType.ButtonWidth;
                        size.y = elementAsType.ButtonHeight;
                        elementAsType.AddButton(newButtonController, size, offset);
                        x++;
                    }

                    elementAsType.ActuallyPutItemsBackInPoolThatAreStillCleared();
                }
            }