Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
Applibot.OutlineImage Class Reference
Inheritance diagram for Applibot.OutlineImage:
Applibot.CustomImageBase

Public Member Functions

void Capture ()
 
- Public Member Functions inherited from Applibot.CustomImageBase
Material GetModifiedMaterial (Material baseMaterial)
 
void DestroyMaterial ()
 

Protected Member Functions

override void UpdateMaterial (Material baseMaterial)
 
- Protected Member Functions inherited from Applibot.CustomImageBase
virtual void UpdateMaterial (Material baseMaterial)
 
void OnEnable ()
 
void OnDisable ()
 
void OnDestroy ()
 

Private Member Functions

void Awake ()
 

Private Attributes

Color _outlineColor = Color.white
 
Image _image
 
bool _isStatic
 
int _OutlineColor = Shader.PropertyToID("_OutlineColor")
 
readonly int _SrcFactor = Shader.PropertyToID("_SrcFactor")
 
readonly int _DstFactor = Shader.PropertyToID("_DstFactor")
 

Additional Inherited Members

- Protected Attributes inherited from Applibot.CustomImageBase
Material material
 
- Properties inherited from Applibot.CustomImageBase
CanvasScaler canvasScaler [get]
 
Graphic graphic [get]
 

Detailed Description

Definition at line 6 of file OutlineImage.cs.

Member Function Documentation

◆ Awake()

void Applibot.OutlineImage.Awake ( )
inlineprivate

Definition at line 53 of file OutlineImage.cs.

54 {
55 _image = base.graphic as Image;
56 if (Application.isPlaying && _isStatic)
57 {
58 Capture();
59 }
60 }

References Applibot.OutlineImage._image, Applibot.OutlineImage._isStatic, and Applibot.OutlineImage.Capture().

◆ Capture()

void Applibot.OutlineImage.Capture ( )
inline

Definition at line 62 of file OutlineImage.cs.

63 {
64 UpdateMaterial(null);
65 material.SetInt(_SrcFactor, 1);
66 material.SetInt(_DstFactor, 0);
67 if (TryGetComponent<RawImage>(out var component))
68 {
69 Texture mainTexture = base.graphic.mainTexture;
70 float width = (base.transform as RectTransform).rect.width;
71 float height = (base.transform as RectTransform).rect.height;
72 RenderTexture renderTexture = new RenderTexture((int)width, (int)height, 0, RenderTextureFormat.ARGBHalf);
73 Graphics.Blit(mainTexture, renderTexture, material);
74 component.texture = renderTexture;
76 base.enabled = false;
77 }
78 }
readonly int _DstFactor
Definition: OutlineImage.cs:21
readonly int _SrcFactor
Definition: OutlineImage.cs:19
override void UpdateMaterial(Material baseMaterial)
Definition: OutlineImage.cs:23

References Applibot.OutlineImage._DstFactor, Applibot.OutlineImage._SrcFactor, Applibot.CustomImageBase.DestroyMaterial(), Applibot.CustomImageBase.material, and Applibot.OutlineImage.UpdateMaterial().

Referenced by Applibot.OutlineImage.Awake().

◆ UpdateMaterial()

override void Applibot.OutlineImage.UpdateMaterial ( Material  baseMaterial)
inlineprotectedvirtual

Reimplemented from Applibot.CustomImageBase.

Definition at line 23 of file OutlineImage.cs.

24 {
25 if (material == null)
26 {
27 Shader shader = Shader.Find("Applibot/UI/Outline");
28 material = new Material(shader);
29 }
31 material.SetInt(_SrcFactor, 5);
32 material.SetInt(_DstFactor, 10);
33 if (base.canvasScaler != null)
34 {
35 Vector2 referenceResolution = base.canvasScaler.referenceResolution;
36 Vector2 one = Vector2.one;
37 if (_image != null && _image.sprite.packed)
38 {
39 Rect textureRect = _image.sprite.textureRect;
40 one = new Vector2(textureRect.width, textureRect.height);
41 }
42 else
43 {
44 Texture mainTexture = base.graphic.mainTexture;
45 one = new Vector2(mainTexture.width, mainTexture.height);
46 }
47 float x = one.x / referenceResolution.x;
48 float y = one.y / referenceResolution.y;
49 material.SetVector("_scaleFactor", new Vector4(x, y));
50 }
51 }

References Applibot.OutlineImage._DstFactor, Applibot.OutlineImage._image, Applibot.OutlineImage._outlineColor, Applibot.OutlineImage._OutlineColor, Applibot.OutlineImage._SrcFactor, Material, and Applibot.CustomImageBase.material.

Referenced by Applibot.OutlineImage.Capture().

Member Data Documentation

◆ _DstFactor

readonly int Applibot.OutlineImage._DstFactor = Shader.PropertyToID("_DstFactor")
private

◆ _image

Image Applibot.OutlineImage._image
private

◆ _isStatic

bool Applibot.OutlineImage._isStatic
private

Definition at line 15 of file OutlineImage.cs.

Referenced by Applibot.OutlineImage.Awake().

◆ _outlineColor

Color Applibot.OutlineImage._outlineColor = Color.white
private

Definition at line 10 of file OutlineImage.cs.

Referenced by Applibot.OutlineImage.UpdateMaterial().

◆ _OutlineColor

int Applibot.OutlineImage._OutlineColor = Shader.PropertyToID("_OutlineColor")
private

Definition at line 17 of file OutlineImage.cs.

Referenced by Applibot.OutlineImage.UpdateMaterial().

◆ _SrcFactor

readonly int Applibot.OutlineImage._SrcFactor = Shader.PropertyToID("_SrcFactor")
private

The documentation for this class was generated from the following file: