public void SetGuideMode(GameObject go, int order = 1) { Canvas canvas = go.GetComponent <Canvas>(); GraphicRaycaster graphic = go.GetComponent <GraphicRaycaster>(); GuideChangeData status = new GuideChangeData(); if (canvas == null) { canvas = go.AddComponent <Canvas>(); status.isCreateCanvas = true; } if (graphic == null) { graphic = go.AddComponent <GraphicRaycaster>(); status.isCreateGraphic = true; } status.OldOverrideSorting = canvas.overrideSorting; status.OldSortingOrder = canvas.sortingOrder; status.oldSortingLayerName = canvas.sortingLayerName; canvas.overrideSorting = true; canvas.sortingOrder = order; canvas.sortingLayerName = "Guide"; m_GuideList.Add(go); m_CreateCanvasDict.Add(go, status); }
public void SetGuideMode(GameObject go, int order = 1) { Canvas canvas = go.GetComponent <Canvas>(); GraphicRaycaster graphic = go.GetComponent <GraphicRaycaster>(); GuideChangeData status = new GuideChangeData(); if (canvas == null) { canvas = go.AddComponent <Canvas>(); status.isCreateCanvas = true; } if (graphic == null) { graphic = go.AddComponent <GraphicRaycaster>(); status.isCreateGraphic = true; } status.OldOverrideSorting = canvas.overrideSorting; status.OldSortingOrder = canvas.sortingOrder; status.oldSortingLayerName = canvas.sortingLayerName; //如果检测到目标对象 bool oldActive = go.activeSelf; if (!oldActive) { go.SetActive(true); } canvas.overrideSorting = true; canvas.sortingOrder = order; canvas.sortingLayerName = "Guide"; if (!oldActive) { go.SetActive(false); } if (!m_CreateCanvasDict.ContainsKey(go)) { m_CreateCanvasDict.Add(go, status); m_GuideList.Add(go); } else { Debug.LogError("m_CreateCanvasDict " + go); } }
public void CancelGuideModel(GameObject go) { if (go == null) { Debug.LogError("go is null"); return; } Canvas canvas = go.GetComponent <Canvas>(); GraphicRaycaster graphic = go.GetComponent <GraphicRaycaster>(); if (m_CreateCanvasDict.ContainsKey(go)) { GuideChangeData status = m_CreateCanvasDict[go]; if (graphic != null && status.isCreateGraphic) { DestroyImmediate(graphic); } if (canvas != null && status.isCreateCanvas) { DestroyImmediate(canvas); } else { if (canvas != null) { canvas.overrideSorting = status.OldOverrideSorting; canvas.sortingOrder = status.OldSortingOrder; canvas.sortingLayerName = status.oldSortingLayerName; } } } else { Debug.LogError("m_CreateCanvasDict.ContainsKey(go) is error"); } }
public void CancelGuideModel(GameObject go) { Canvas canvas = go.GetComponent <Canvas>(); GraphicRaycaster graphic = go.GetComponent <GraphicRaycaster>(); GuideChangeData status = m_CreateCanvasDict[go]; if (graphic != null && status.isCreateGraphic) { Destroy(graphic); } if (canvas != null && status.isCreateCanvas) { Destroy(canvas); } else { canvas.overrideSorting = status.OldOverrideSorting; canvas.sortingOrder = status.OldSortingOrder; canvas.sortingLayerName = status.oldSortingLayerName; } }