블로그 이미지
Every unexpected event is a path to learning for you.

카테고리

분류 전체보기 (2735)
Unity3D (815)
Programming (474)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (228)
협업 (58)
3DS Max (3)
Game (12)
Utility (136)
Etc (96)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (53)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday
04-17 00:04

The saved objects are handled on the native side, and there is no way I know of to hook into that side of Unity.


As an aside, here's an example of using an extension to track such a quality:

I would create a an extension for Object which stores all saved objects, something like this:

  1. public static class ObjectExtension {
  2.  
  3. private static List<Object> savedObjects = new List<Object>();
  4.  
  5. public static void DontDestroyOnLoad(this Object obj){
  6. savedObjects.Add(obj);
  7. Object.DontDestroyOnLoad(obj);
  8. }
  9.  
  10. public static void Destory(this Object obj){
  11. savedObjects.Remove(obj);
  12. Destory(obj);
  13. }
  14.  
  15. public static List<Objects> GetSavedObjects(){
  16. return new List<Objects>(savedObjects);
  17. }
  18. }
  19.  

Now, to save the object you'll have to use this.DontDestroyOnLoad(); instead of the normal DontDestroyOnLoad(this);

EDIT:

I started looking into this and found that setting a GameObject's hideflags to HideFlags.DontSave means (as far as I can tell) the same thing as DontDestroyOnLoad, except that none of Unity's functions (Update, etc.) are called. The one with hideflags might also leak if not destroyed manually...

Finding GameObjects with its hideFlags set to DontSave is trivial.

 

 

 

[출처] https://answers.unity.com/questions/544886/find-objects-with-dontdestroyonload.html

 

Find objects with DontDestroyOnLoad - Unity Answers

 

answers.unity.com

 

반응형
Posted by blueasa
, |