少年修仙传客户端代码仓库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
using UnityEngine;
using System;
 
 
public static class MaterialUtility
{
 
    public static Material GetDefaultSpriteGrayMaterial()
    {
        return BuiltInLoader.LoadMaterial("SpriteGray");
    }
 
    public static Material GetInstantiatedSpriteGrayMaterial()
    {
        var material = new Material(GetDefaultSpriteGrayMaterial());
        return material;
    }
 
    public static Material GetSmoothMaskGrayMaterial()
    {
        return BuiltInLoader.LoadMaterial("SmoothMaskGray");
    }
 
    public static Material GetInstantiatedSpriteTwinkleMaterial()
    {
        var material = BuiltInLoader.LoadMaterial("Flash");
        return new Material(material);
    }
 
    public static Material GetUIDefaultGraphicMaterial()
    {
        return UnityEngine.UI.Image.defaultGraphicMaterial;
    }
 
    public static Material GetUIBlurMaterial()
    {
        return BuiltInLoader.LoadMaterial("GUIBlurMaterial");
    }
 
    public static Material GetGUIRenderTextureMaterial()
    {
        return BuiltInLoader.LoadMaterial("UI_RenderTexture");
    }
 
    public static void SetRenderSortingOrder(this GameObject root, int sortingOrder, bool includeChildren)
    {
 
        if (root == null)
        {
            throw new NullReferenceException();
        }
 
        if (includeChildren)
        {
            var renderers = root.GetComponentsInChildren<Renderer>();
            for (var i = 0; i < renderers.Length; i++)
            {
                var renderer = renderers[i];
                renderer.sortingOrder = sortingOrder;
            }
        }
        else
        {
            var renderer = root.GetComponent<Renderer>();
            if (renderer != null)
            {
                renderer.sortingOrder = sortingOrder;
            }
        }
 
    }
 
 
    public static Material m_HudMaterial;
    public static Material hudMaterial {
        get {
            if (m_HudMaterial == null)
            {
                m_HudMaterial = BuiltInLoader.LoadMaterial("HUD_HeadupName");
                m_HudMaterial.SetTexture("_Tex1", FontUtility.preferred.material.mainTexture);
            }
            return m_HudMaterial;
        }
    }
 
 
    static Shader m_HeroShader;
    static Shader m_PlayerShader;
    static Shader heroShader {
        get {
            if (m_HeroShader == null)
            {
                m_HeroShader = Shader.Find("Character/Character,Emission,Flow_Hero");
            }
 
            if (m_HeroShader == null)
            {
                m_HeroShader = Shader.Find("Character/Character, Emission,Flow_Hero");
            }
 
            return m_HeroShader;
        }
    }
 
    static Shader playerShader {
        get {
            if (m_PlayerShader == null)
            {
                m_PlayerShader = Shader.Find("Character/Character,Emission,Flow");
            }
 
            if (m_PlayerShader == null)
            {
                m_PlayerShader = Shader.Find("Character/Character, Emission,Flow");
            }
 
            return m_PlayerShader;
        }
    }
 
    public static void SwitchXrayShader(Material _material, bool _isHero)
    {
        if (_material == null)
        {
            return;
        }
 
        if (_isHero)
        {
            if (_material.shader.name != "Character/Character,Emission,Flow_Hero" && _material.shader.name != "Character/Character, Emission,Flow_Hero")
            {
                _material.shader = heroShader;
                _material.SetColor("_XRayColor", new Color32(0, 107, 255, 255));
            }
        }
        else
        {
            if (_material.shader.name != "Character/Character, Emission,Flow" && _material.shader.name != "Character/Character,Emission,Flow")
            {
                _material.shader = playerShader;
            }
        }
    }
 
}