public const int TYPE_SELECTABLE_BIT = 4; // 按钮 public static void RemoveOtherCs(GameObject go, int type) { SpriteBigLoader bigLoader = go.GetComponent <SpriteBigLoader>(); SpriteAtlasLoader altasLoader = go.GetComponent <SpriteAtlasLoader>(); SpriteSelectableAltasLoader selectableLoader = go.GetComponent <SpriteSelectableAltasLoader>(); SpriteSelectableBigLoader selectableBigLoader = go.GetComponent <SpriteSelectableBigLoader>(); if (bigLoader != null && type != TYPE_BIG_SPRITE) { UnityEngine.Object.DestroyImmediate(bigLoader); } if (altasLoader != null && type != TYPE_SPRITE) { UnityEngine.Object.DestroyImmediate(altasLoader); } if (selectableLoader != null && type != TYPE_SELECTABLE_SPRITE) { UnityEngine.Object.DestroyImmediate(selectableLoader); } if (selectableBigLoader != null && type != TYPE_SELECTABLE_BIT) { UnityEngine.Object.DestroyImmediate(selectableBigLoader); } }
private static void ExcuteSelectableBig(Selectable selectable, string highlightedPath, string pressedPath, string disabledPath) { SpriteSelectableBigLoader loader = GameObjectHelper.AddComponent <SpriteSelectableBigLoader>(selectable.gameObject); RemoveOtherCs(selectable.gameObject, TYPE_SELECTABLE_BIT); SpriteState state = new SpriteState(); state.highlightedSprite = null; state.pressedSprite = null; state.disabledSprite = null; selectable.spriteState = state; loader._initComplete = false; loader._highlightedSpritePath = highlightedPath; loader._pressedSpritePath = pressedPath; loader._disabledSpritePath = disabledPath; }