Thing* Thing::create(ThingType type) { Thing* thing = new Thing(type); if(thing && thing->init()) { thing->autorelease(); return thing; } CC_SAFE_DELETE(thing); return nullptr; }