Snake* Snake::create(const NPCData& data, ESnakeType type) { Snake* npc = new Snake(); if (npc && npc->init(data, type)) { return (Snake*)npc->autorelease(); } CC_SAFE_DELETE(npc); return npc; }