12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- using EPOOutline;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
- public enum OutLineType
- {
- hover, //划过
- select,//选中
- hint, //提示
- }
- public class OutLineManager : MonoSingleton<OutLineManager>
- {
- private OutLinePrefabGroup outLinePrefabGroup;
- public OutLinePrefabGroup OutLinePrefabGroup
- {
- get
- {
- if (outLinePrefabGroup == null)
- {
- outLinePrefabGroup = Resources.Load<OutLinePrefabGroup>("OutLinablePrefab");
- }
- return outLinePrefabGroup;
- }
- }
- void Awake()
- {
- if(Camera.main!=null&&Camera.main.GetComponent<Outliner>()==null)
- {
- Camera.main.gameObject.AddComponent<Outliner>();
- }
- }
- public void ResetOutLinableByType(Outlinable outlinable, OutLineType type)
- {
- Outlinable prefab = GetOutLinablePrefan(type);
- //outlinable.AddAllChildRenderersToRenderingList();
- outlinable.ComplexMaskingMode = prefab.ComplexMaskingMode;
- outlinable.DrawingMode = prefab.DrawingMode;
- outlinable.OutlineLayer = prefab.OutlineLayer;
- outlinable.RenderStyle = prefab.RenderStyle;
- outlinable.BackParameters.DilateShift = prefab.BackParameters.DilateShift;
- outlinable.BackParameters.BlurShift = prefab.BackParameters.BlurShift;
- outlinable.BackParameters.Color = prefab.BackParameters.Color;
- outlinable.BackParameters.SetFillPass(prefab.BackParameters.FillPass);
- outlinable.FrontParameters.DilateShift = prefab.FrontParameters.DilateShift;
- outlinable.FrontParameters.BlurShift = prefab.FrontParameters.BlurShift;
- outlinable.FrontParameters.Color = prefab.FrontParameters.Color;
- outlinable.FrontParameters.SetFillPass(prefab.FrontParameters.FillPass);
- }
- public Outlinable GetOutLinablePrefan(OutLineType type)
- {
- if (OutLinePrefabGroup.dic_OutLinePrefabs.ContainsKey(type))
- {
- return OutLinePrefabGroup.dic_OutLinePrefabs[type];
- }
- return null;
- }
- void OnDestroy()
- {
- if(outLinePrefabGroup != null)
- {
- Destroy(outLinePrefabGroup);
- }
- }
- }
|