private void Awake() { _canvas = GetComponent <Canvas>(); if (_canvas == null) { Debug.LogError("SpriteSleeperCanvas is unable to find a Canvas component on the current object. Ensure that this component is added to the GameObject containing the Canvas."); return; } if (!_canvas.isRootCanvas) { Debug.LogError("SpriteSleeperCanvas should only be used on root canvases."); return; } _hasCanvas = true; _manager = SpriteSleeperManager.Instance(); if (_manager == null || _manager.Equals(null)) { Debug.LogError("SpriteSleeperCanvas is unable to find a SpriteSleeperManager."); return; } _manager.AddCanvas(this); _spriteSleepers = new List <SpriteSleeperImage>(); RefreshImageList(); // Allow for canvases that start disabled to unref their images Invoke("OnCanvasHierarchyChanged", 0.0001f); }
public void Start() { _image = GetComponent <Image>(); _manager = SpriteSleeperManager.Instance(); _manager.OnAtlasLoaded += FindTag; FindTag(); Invoke("StopListeningForAtlases", 0.0001f); }
public static SpriteSleeperManager Instance() { if (_instance == null && !_destroyed) { GameObject spriteSleeperGameObject = new GameObject("SpriteSleeperManager"); GameObject.DontDestroyOnLoad(spriteSleeperGameObject); spriteSleeperGameObject.hideFlags = HideFlags.DontSave | HideFlags.DontSaveInEditor | HideFlags.DontSaveInBuild; _instance = spriteSleeperGameObject.AddComponent <SpriteSleeperManager>(); } return(_instance); }
public void Start() { // 获取到挂载的Image _image = GetComponent <Image>(); // 获取SpriteSleeperManager实例 _manager = SpriteSleeperManager.Instance(); // 每加载一个atlas,就寻找下是自己?! _manager.OnAtlasLoaded += FindTag; // 从SpriteSleeperManager中找到本Image,所在的atlas // 记录其tag // 并标记引用此tag FindTag(); Invoke("StopListeningForAtlases", 0.0001f); }