コード例 #1
0
        private void SliceTryFinished(SliceTry sliceTry)
        {
            BzSliceTryResult result = null;

            if (sliceTry.sliced)
            {
                result = ApplyChanges(sliceTry);
            }

            if (result == null)
            {
                result = new BzSliceTryResult(false, sliceTry.sliceData.addData);
            }
            else
            {
                InvokeEvents(result.outObjectNeg, result.outObjectPos);
            }

            OnSliceFinished(result);

            if (sliceTry.callBack != null)
            {
                sliceTry.callBack(result);
            }
        }
コード例 #2
0
        private void SliceTryFinished(SliceTry sliceTry)
        {
            BzSliceTryResult result = null;

            if (sliceTry.sliced)
            {
                Profiler.BeginSample("ApplyChanges");
                result = ApplyChanges(sliceTry);
                Profiler.EndSample();
            }

            if (result == null)
            {
                result = new BzSliceTryResult(false, sliceTry.sliceData.addData);
            }
            else
            {
                lastSuccessfulSlice = sliceTry;
                result.outObjectNeg.GetComponent <BzSliceableBase>().lastSuccessfulSlice = sliceTry;
                result.outObjectPos.GetComponent <BzSliceableBase>().lastSuccessfulSlice = sliceTry;

                Profiler.BeginSample("InvokeEvents");
                InvokeEvents(result.outObjectNeg, result.outObjectPos);
                Profiler.EndSample();
            }

            Profiler.BeginSample("OnSliceFinished");
            OnSliceFinished(result);
            Profiler.EndSample();

            if (result.sliced)
            {
                var runnerNeg = result.outObjectNeg.GetComponent <LazyActionRunner>();
                if (runnerNeg != null)
                {
                    runnerNeg.RunLazyActions();
                }
                var runnerPos = result.outObjectPos.GetComponent <LazyActionRunner>();
                if (runnerPos != null)
                {
                    runnerPos.RunLazyActions();
                }
            }

            if (sliceTry.callBack != null)
            {
                Profiler.BeginSample("CallBackMethod");
                sliceTry.callBack(result);
                Profiler.EndSample();
            }
        }