| 
							
								 | 
							
							using System;
 | 
						
						
						
						
							 | 
							
								 | 
							
							using UnityEngine;
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							namespace FX
 | 
						
						
						
						
							 | 
							
								 | 
							
							{
 | 
						
						
						
						
							 | 
							
								 | 
							
								// Token: 0x02000766 RID: 1894
 | 
						
						
						
						
							 | 
							
								 | 
							
								[RequireComponent(typeof(MeshFilter), typeof(MeshRenderer))]
 | 
						
						
						
						
							 | 
							
								 | 
							
								public class FX_Polygon_Flag : MonoBehaviour
 | 
						
						
						
						
							 | 
							
								 | 
							
								{
 | 
						
						
						
						
							 | 
							
								 | 
							
									// Token: 0x06003054 RID: 12372 RVA: 0x001038F8 File Offset: 0x001038F8
 | 
						
						
						
						
							 | 
							
								 | 
							
									private void Start()
 | 
						
						
						
						
							 | 
							
								 | 
							
									{
 | 
						
						
						
						
							 | 
							
								 | 
							
										this._renderer = base.GetComponent<Renderer>();
 | 
						
						
						
						
							 | 
							
								 | 
							
										this._meshFilter = base.GetComponent<MeshFilter>();
 | 
						
						
						
						
							 | 
							
								 | 
							
										this._mesh = new Mesh();
 | 
						
						
						
						
							 | 
							
								 | 
							
										this._mesh.vertices = this._vertices;
 | 
						
						
						
						
							 | 
							
								 | 
							
										this._mesh.uv = this._uv;
 | 
						
						
						
						
							 | 
							
								 | 
							
										this._prevPosition = base.transform.position;
 | 
						
						
						
						
							 | 
							
								 | 
							
									}
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
									// Token: 0x06003055 RID: 12373 RVA: 0x0010395C File Offset: 0x0010395C
 | 
						
						
						
						
							 | 
							
								 | 
							
									private void Update()
 | 
						
						
						
						
							 | 
							
								 | 
							
									{
 | 
						
						
						
						
							 | 
							
								 | 
							
										if (this._renderer != null && this._renderer.material != null)
 | 
						
						
						
						
							 | 
							
								 | 
							
										{
 | 
						
						
						
						
							 | 
							
								 | 
							
											Vector3 a = this._prevPosition + this._nowChaser;
 | 
						
						
						
						
							 | 
							
								 | 
							
											this._nowChaser = Vector3.Lerp(a, base.transform.position, this._tailDamper) - base.transform.position;
 | 
						
						
						
						
							 | 
							
								 | 
							
											this._nowChaser_Rot = Quaternion.Lerp(this._nowChaser_Rot, base.transform.parent.rotation, this._tailDamper);
 | 
						
						
						
						
							 | 
							
								 | 
							
											this._vertices[1] = base.transform.parent.rotation * this._topPosition;
 | 
						
						
						
						
							 | 
							
								 | 
							
											this._vertices[2] = this._nowChaser;
 | 
						
						
						
						
							 | 
							
								 | 
							
											this._vertices[3] = this._nowChaser + this._nowChaser_Rot * this._topPosition;
 | 
						
						
						
						
							 | 
							
								 | 
							
											float num = Vector3.Distance(Vector3.zero, this._nowChaser);
 | 
						
						
						
						
							 | 
							
								 | 
							
											float num2 = Vector3.Distance(this._vertices[1], this._vertices[3]);
 | 
						
						
						
						
							 | 
							
								 | 
							
											float num3 = (num <= num2) ? num2 : num;
 | 
						
						
						
						
							 | 
							
								 | 
							
											float a2 = Mathf.Clamp01((num3 - this._minLength) / this._visibleLength);
 | 
						
						
						
						
							 | 
							
								 | 
							
											this._colors[0].a = a2;
 | 
						
						
						
						
							 | 
							
								 | 
							
											this._colors[1].a = a2;
 | 
						
						
						
						
							 | 
							
								 | 
							
											this._colors[2].a = a2;
 | 
						
						
						
						
							 | 
							
								 | 
							
											this._colors[3].a = a2;
 | 
						
						
						
						
							 | 
							
								 | 
							
											if (num3 > this._minLength)
 | 
						
						
						
						
							 | 
							
								 | 
							
											{
 | 
						
						
						
						
							 | 
							
								 | 
							
												this._mesh.vertices = this._vertices;
 | 
						
						
						
						
							 | 
							
								 | 
							
												this._mesh.colors = this._colors;
 | 
						
						
						
						
							 | 
							
								 | 
							
												this._mesh.triangles = this._triangles;
 | 
						
						
						
						
							 | 
							
								 | 
							
												this._meshFilter.sharedMesh = this._mesh;
 | 
						
						
						
						
							 | 
							
								 | 
							
											}
 | 
						
						
						
						
							 | 
							
								 | 
							
											else
 | 
						
						
						
						
							 | 
							
								 | 
							
											{
 | 
						
						
						
						
							 | 
							
								 | 
							
												this._meshFilter.sharedMesh = null;
 | 
						
						
						
						
							 | 
							
								 | 
							
											}
 | 
						
						
						
						
							 | 
							
								 | 
							
											this._prevPosition = base.transform.position;
 | 
						
						
						
						
							 | 
							
								 | 
							
											base.transform.rotation = Quaternion.identity;
 | 
						
						
						
						
							 | 
							
								 | 
							
										}
 | 
						
						
						
						
							 | 
							
								 | 
							
									}
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
									// Token: 0x04005698 RID: 22168
 | 
						
						
						
						
							 | 
							
								 | 
							
									[SerializeField]
 | 
						
						
						
						
							 | 
							
								 | 
							
									[Range(0f, 1f)]
 | 
						
						
						
						
							 | 
							
								 | 
							
									[Tooltip("この値が高い程 短くなります")]
 | 
						
						
						
						
							 | 
							
								 | 
							
									private float _tailDamper = 0.2f;
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
									// Token: 0x04005699 RID: 22169
 | 
						
						
						
						
							 | 
							
								 | 
							
									[Tooltip("先端の位置(相対)")]
 | 
						
						
						
						
							 | 
							
								 | 
							
									[SerializeField]
 | 
						
						
						
						
							 | 
							
								 | 
							
									private Vector3 _topPosition = new Vector3(0f, 0f, 0.6f);
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
									// Token: 0x0400569A RID: 22170
 | 
						
						
						
						
							 | 
							
								 | 
							
									[Tooltip("描画される最短距離")]
 | 
						
						
						
						
							 | 
							
								 | 
							
									[SerializeField]
 | 
						
						
						
						
							 | 
							
								 | 
							
									private float _minLength = 0.2f;
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
									// Token: 0x0400569B RID: 22171
 | 
						
						
						
						
							 | 
							
								 | 
							
									[SerializeField]
 | 
						
						
						
						
							 | 
							
								 | 
							
									[Tooltip("minLengthから頂点アルファが1になるまでの距離(初期値固定)")]
 | 
						
						
						
						
							 | 
							
								 | 
							
									private float _visibleLength = 0.3f;
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
									// Token: 0x0400569C RID: 22172
 | 
						
						
						
						
							 | 
							
								 | 
							
									private Renderer _renderer;
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
									// Token: 0x0400569D RID: 22173
 | 
						
						
						
						
							 | 
							
								 | 
							
									private Vector3 _nowChaser;
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
									// Token: 0x0400569E RID: 22174
 | 
						
						
						
						
							 | 
							
								 | 
							
									private Vector3 _prevPosition;
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
									// Token: 0x0400569F RID: 22175
 | 
						
						
						
						
							 | 
							
								 | 
							
									private Quaternion _nowChaser_Rot;
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
									// Token: 0x040056A0 RID: 22176
 | 
						
						
						
						
							 | 
							
								 | 
							
									private Mesh _mesh;
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
									// Token: 0x040056A1 RID: 22177
 | 
						
						
						
						
							 | 
							
								 | 
							
									private int[] _triangles = new int[]
 | 
						
						
						
						
							 | 
							
								 | 
							
									{
 | 
						
						
						
						
							 | 
							
								 | 
							
										0,
 | 
						
						
						
						
							 | 
							
								 | 
							
										1,
 | 
						
						
						
						
							 | 
							
								 | 
							
										2,
 | 
						
						
						
						
							 | 
							
								 | 
							
										2,
 | 
						
						
						
						
							 | 
							
								 | 
							
										1,
 | 
						
						
						
						
							 | 
							
								 | 
							
										3
 | 
						
						
						
						
							 | 
							
								 | 
							
									};
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
									// Token: 0x040056A2 RID: 22178
 | 
						
						
						
						
							 | 
							
								 | 
							
									private Vector2[] _uv = new Vector2[]
 | 
						
						
						
						
							 | 
							
								 | 
							
									{
 | 
						
						
						
						
							 | 
							
								 | 
							
										Vector2.zero,
 | 
						
						
						
						
							 | 
							
								 | 
							
										Vector2.up,
 | 
						
						
						
						
							 | 
							
								 | 
							
										Vector2.right,
 | 
						
						
						
						
							 | 
							
								 | 
							
										Vector2.one
 | 
						
						
						
						
							 | 
							
								 | 
							
									};
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
									// Token: 0x040056A3 RID: 22179
 | 
						
						
						
						
							 | 
							
								 | 
							
									private Color[] _colors = new Color[]
 | 
						
						
						
						
							 | 
							
								 | 
							
									{
 | 
						
						
						
						
							 | 
							
								 | 
							
										Color.white,
 | 
						
						
						
						
							 | 
							
								 | 
							
										Color.white,
 | 
						
						
						
						
							 | 
							
								 | 
							
										Color.white,
 | 
						
						
						
						
							 | 
							
								 | 
							
										Color.white
 | 
						
						
						
						
							 | 
							
								 | 
							
									};
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
									// Token: 0x040056A4 RID: 22180
 | 
						
						
						
						
							 | 
							
								 | 
							
									private Vector3[] _vertices = new Vector3[]
 | 
						
						
						
						
							 | 
							
								 | 
							
									{
 | 
						
						
						
						
							 | 
							
								 | 
							
										Vector3.zero,
 | 
						
						
						
						
							 | 
							
								 | 
							
										Vector3.zero,
 | 
						
						
						
						
							 | 
							
								 | 
							
										Vector3.zero,
 | 
						
						
						
						
							 | 
							
								 | 
							
										Vector3.zero
 | 
						
						
						
						
							 | 
							
								 | 
							
									};
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
									// Token: 0x040056A5 RID: 22181
 | 
						
						
						
						
							 | 
							
								 | 
							
									private MeshFilter _meshFilter;
 | 
						
						
						
						
							 | 
							
								 | 
							
								}
 | 
						
						
						
						
							 | 
							
								 | 
							
							}
 |