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);
                    }
                }
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
    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);
        }
    }
コード例 #4
0
    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);
        }
    }
コード例 #5
0
    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);
            }
        }
    }