public GearBase GetGear(int index) { GearBase gear = _gears[index]; if (gear == null) { switch (index) { case 0: gear = new GearDisplay(this); break; case 1: gear = new GearXY(this); break; case 2: gear = new GearSize(this); break; case 3: gear = new GearLook(this); break; case 4: gear = new GearColor(this); break; case 5: gear = new GearAnimation(this); break; case 6: gear = new GearText(this); break; case 7: gear = new GearIcon(this); break; default: throw new System.Exception("FairyGUI: invalid gear index!"); } _gears[index] = gear; } return gear; }