Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

61 рядки
926 B

  1. local Editor = class("Editor")
  2. function Editor:activate()
  3. end
  4. function Editor:unactivate()
  5. end
  6. function Editor:play()
  7. end
  8. function Editor:stop()
  9. end
  10. function Editor:save(filename)
  11. end
  12. function Editor:relayoutAll()
  13. end
  14. -- 自动命名成不重名
  15. function Editor:autoSetNodeName(node)
  16. if not self.node then
  17. return;
  18. end
  19. local names = {};
  20. self.node:visitNode(function(child)
  21. if child ~= node then
  22. names[child:getName()] = child;
  23. end
  24. return true;
  25. end);
  26. while(names[node:getName()]) do
  27. local name = node:getName();
  28. local ret , matchNum = string.gsub(name , "(.*_)([0-9]+)$" , function(...)
  29. local args = {...}
  30. return args[1] .. tostring(tonumber(args[2]) + 1);
  31. end);
  32. if matchNum == 0 then
  33. node:setName(ret .. "_1");
  34. else
  35. node:setName(ret);
  36. end
  37. end
  38. -- 所有子节点也要做这个处理
  39. for i , child in pairs(node:getChildren()) do
  40. self:autoSetNodeName(child);
  41. end
  42. end
  43. return Editor;