summaryrefslogtreecommitdiff
path: root/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts')
-rw-r--r--Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/CollisionDetector.cs34
-rw-r--r--Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/CollisionDetector.cs.meta12
-rw-r--r--Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/CollisionSpawner.cs53
-rw-r--r--Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/CollisionSpawner.cs.meta12
-rw-r--r--Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/WiresConnector.cs114
-rw-r--r--Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/WiresConnector.cs.meta12
6 files changed, 0 insertions, 237 deletions
diff --git a/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/CollisionDetector.cs b/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/CollisionDetector.cs
deleted file mode 100644
index 179d8511..00000000
--- a/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/CollisionDetector.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-using System;
-using UnityEngine;
-
-namespace Assets.AbstractWiresEffect.Scripts
-{
- internal sealed class CollisionDetector : MonoBehaviour
- {
- public float CollisionDistance;
-
- private Transform _transform;
-
- public event Action<Vector3> CollisionDetected;
-
- private void Start()
- {
- _transform = transform;
- }
-
- private void FixedUpdate()
- {
- RaycastHit hit;
- if (!Physics.Raycast(_transform.position, -transform.up, out hit, CollisionDistance))
- return;
-
- var distance = Vector3.Distance(_transform.position, hit.point);
-
- if (distance > CollisionDistance)
- return;
-
- if (CollisionDetected != null)
- CollisionDetected.Invoke(hit.point);
- }
- }
-}
diff --git a/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/CollisionDetector.cs.meta b/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/CollisionDetector.cs.meta
deleted file mode 100644
index bab53bf8..00000000
--- a/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/CollisionDetector.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 89af8e8c11b710841957296475354a38
-timeCreated: 1497378512
-licenseType: Free
-MonoImporter:
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/CollisionSpawner.cs b/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/CollisionSpawner.cs
deleted file mode 100644
index 82f19fd9..00000000
--- a/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/CollisionSpawner.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-using UnityEngine;
-
-namespace Assets.AbstractWiresEffect.Scripts
-{
- [RequireComponent(typeof(CollisionDetector))]
- internal sealed class CollisionSpawner : MonoBehaviour
- {
- public GameObject CollisionEffect;
- public float LifeTime = 1f;
-
- private bool _isAlreadySpawned;
- private CollisionDetector _collisionDetector;
-
- private void Start()
- {
- _collisionDetector = GetComponent<CollisionDetector>();
- _collisionDetector.CollisionDetected += OnCollisionDetected;
- }
-
- private void OnCollisionDetected(Vector3 hit)
- {
- if (_isAlreadySpawned)
- return;
-
- InstantiateImpactEffect(hit);
-
- ////todo add decal
- ////InstantiateDecal();
- }
-
- private void InstantiateImpactEffect(Vector3 pos)
- {
- var impactEffect = Instantiate(CollisionEffect, pos, CollisionEffect.transform.rotation);
- impactEffect.transform.position = pos;
-
- //todo add ivoke with delay and params
- Destroy(impactEffect, LifeTime);
- Invoke("Reset", LifeTime);
-
- _isAlreadySpawned = true;
- }
-
- private void Reset()
- {
- _isAlreadySpawned = false;
- }
-
- private void OnDestroy()
- {
- _collisionDetector.CollisionDetected -= OnCollisionDetected;
- }
- }
-}
diff --git a/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/CollisionSpawner.cs.meta b/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/CollisionSpawner.cs.meta
deleted file mode 100644
index d0219bdc..00000000
--- a/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/CollisionSpawner.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: f1188527b3754cc40b3c05ec3089423a
-timeCreated: 1497378515
-licenseType: Free
-MonoImporter:
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/WiresConnector.cs b/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/WiresConnector.cs
deleted file mode 100644
index 0bd1c9f0..00000000
--- a/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/WiresConnector.cs
+++ /dev/null
@@ -1,114 +0,0 @@
-using UnityEngine;
-
-namespace Assets.AbstractWiresEffect.Scripts
-{
- internal sealed class WiresConnector : MonoBehaviour
- {
- public GameObject WiresParticles;
- public GameObject LineRendererPrefab;
- public bool UseSkinnedMeshRenderer;
- public SkinnedMeshRenderer TargetSkinnedMeshRenderer;
- public float MaxDistance;
- public int MaxConnections;
- public int MaxLineRenderers;
-
- private ParticleSystem _particleSystem;
- private ParticleSystem.MainModule _particleSystemMainModule;
- private ParticleSystem.Particle[] _particles;
- private LineRenderer[] _lineRenderers;
- private Transform _psTransform;
-
- private void Start()
- {
- _lineRenderers = new LineRenderer[MaxLineRenderers];
-
- var go = Instantiate(WiresParticles, transform.position, WiresParticles.transform.rotation);
- go.transform.parent = transform;
-
- _particleSystem = go.GetComponent<ParticleSystem>();
- var sh = _particleSystem.shape;
-
- if (UseSkinnedMeshRenderer)
- sh.skinnedMeshRenderer = TargetSkinnedMeshRenderer;
-
- _particleSystemMainModule = _particleSystem.main;
- _psTransform = _particleSystem.GetComponent<Transform>();
-
- int maxParticles = _particleSystemMainModule.maxParticles;
- _particles = new ParticleSystem.Particle[maxParticles];
- }
-
- private void LateUpdate()
- {
- var liveParticles = _particleSystem.GetParticles(_particles);
- var lineRenderersCount = _lineRenderers.Length;
-
- var lrIndex = 0;
- for (int i = 0; i < liveParticles; i++)
- {
- var p1Pos = _particles[i].position;
-
- var particleConnections = 0;
-
- for (int j = i + 1; j < liveParticles; j++)
- {
- if (particleConnections == MaxConnections || lrIndex == MaxLineRenderers)
- break;
-
- var p2Pos = _particles[j].position;
-
- float distance = Vector3.Distance(p2Pos, p1Pos);
- if (distance > MaxDistance)
- continue;
-
- LineRenderer lineRenderer;
-
- if (_lineRenderers[lrIndex] == null)
- {
- var go = Instantiate(LineRendererPrefab, _psTransform.position, _psTransform.rotation);
- lineRenderer = go.GetComponent<LineRenderer>();
- lineRenderer.transform.parent = _psTransform.transform;
- _lineRenderers[lrIndex] = lineRenderer;
- }
-
- lineRenderer = _lineRenderers[lrIndex];
-
- lineRenderer.enabled = true;
- lineRenderer.SetPosition(0, p1Pos);
- lineRenderer.SetPosition(1, p2Pos);
-
- lrIndex++;
- particleConnections++;
- }
- }
-
- var outdatedLineRenderers = lineRenderersCount - lrIndex;
-
- for (int i = lrIndex; i < outdatedLineRenderers; i++)
- {
- if (_lineRenderers[i] != null)
- _lineRenderers[i].enabled = false;
- }
- }
-
- private void Stop()
- {
- DestroyAllLines();
- }
-
- private void OnDestroy()
- {
- DestroyAllLines();
- }
-
- private void DestroyAllLines()
- {
- if (_lineRenderers == null)
- return;
-
- foreach (var lineRenderer in _lineRenderers)
- if (lineRenderer != null)
- Destroy(lineRenderer);
- }
- }
-} \ No newline at end of file
diff --git a/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/WiresConnector.cs.meta b/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/WiresConnector.cs.meta
deleted file mode 100644
index 102baf87..00000000
--- a/Assets/Art/Vfx/GrabSquaresEffect/AbstractWiresEffect/Scripts/WiresConnector.cs.meta
+++ /dev/null
@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: bbb8a810ae4045342a7b72f088142ca5
-timeCreated: 1497378504
-licenseType: Free
-MonoImporter:
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant: