public void Update() { for (int id = 0; id < trailRenderer.Length; id++) { if (trailRenderer[id] == null) { if (Slicer2D.Debug.enabled && id == 0) { Debug.LogWarning("Slicer2D: Trail Renderer is not attached to the controller"); } return; } SetTrailPosition(trailRenderer[id], id); int pointsCount = trailRenderer[id].GetPositions(trailPositions[id]); if (pointsCount < 1) { return; } Vector2D pos = new Vector2D(trailPositions[id][pointsCount - 1]); List <Slice2D> results = complexTrail[id].Update(pos, trailRenderer[id].time, sliceLayer); if (addForce) { foreach (Slice2D p in results) { Slicer2DAddForce.ComplexTrail(p, addForceAmount); } } } }
bool ComplexSlice(List <Vector2D> slice) { if (sliceJoints) { Slicer2DJoints.ComplexSliceJoints(slice); } List <Slice2D> results = Slicer2D.ComplexSliceAll(slice, sliceLayer); bool result = false; foreach (Slice2D id in results) { if (id.GetGameObjects().Count > 0) { result = true; } eventHandler.Perform(id); } if (addForce == true) { foreach (Slice2D id in results) { Slicer2DAddForce.ComplexSlice(id, addForceAmount); } } return(result); }
private void ComplexSlice(List <Vector2D> slice) { List <Slice2D> results = Slicer2D.ComplexSliceAll(slice, null); if (addForce == false) { return; } foreach (Slice2D id in results) { Slicer2DAddForce.ComplexSlice(id, addForceAmount); } }
private void LinearSlice(Pair2D slice) { List <Slice2D> results = Slicer2D.LinearSliceAll(slice, null); if (addForce == false) { return; } // Adding Physics Forces foreach (Slice2D id in results) { Slicer2DAddForce.LinearSlice(id, addForceAmount); } }
void Explode(Vector2D pos) { List <Slice2D> results = Slicer2D.ExplodeInPointAll(pos, sliceLayer); foreach (Slice2D id in results) { eventHandler.Perform(id); } if (addForce == true) { foreach (Slice2D id in results) { Slicer2DAddForce.ExplodeInPoint(id, addForceAmount, pos); } } }