protected override void Awake()
        {
            base.Awake();

            coneAngle = SMath.ClampDegree0To360(coneAngle);
            faceAngle = SMath.ClampDegree0To360(faceAngle);

            var meshFilter = GetComponent <MeshFilter>();

            if (meshFilter == null)
            {
                meshFilter = gameObject.AddComponent <MeshFilter>();
            }

            if (_mesh == null)
            {
                _mesh           = new Mesh();
                meshFilter.mesh = _mesh;
            }

            _losCamera = LOSManager.instance.losCamera;

            Vector2 screenSize = SHelper.GetScreenSizeInWorld(_losCamera.unityCamera);

            _raycastDistance = Mathf.Sqrt(screenSize.x * screenSize.x + screenSize.y * screenSize.y);
        }
		protected override void Awake () {
			base.Awake();

			coneAngle = SMath.ClampDegree0To360(coneAngle);
			faceAngle = SMath.ClampDegree0To360(faceAngle);

			var meshFilter = GetComponent<MeshFilter>();
			if (meshFilter == null) {
				meshFilter = gameObject.AddComponent<MeshFilter>();
			}

			if (_mesh == null) {
				_mesh = new Mesh();
				meshFilter.mesh = _mesh;
			}

			_losCamera = LOSManager.instance.losCamera;

			Vector2 screenSize = SHelper.GetScreenSizeInWorld(_losCamera.unityCamera);
			_raycastDistance = Mathf.Sqrt(screenSize.x*screenSize.x + screenSize.y*screenSize.y);
		}