private void ComputeEvent(ComputeBeziersInnerPointEvent ComputeBeziersInnerPointEvent) { var ComputeBeziersInnerPointEventResponse = new ComputeBeziersInnerPointResponse(); ComputeBeziersInnerPointEventResponse.ID = ComputeBeziersInnerPointEvent.ID; ComputeBeziersInnerPointEventResponse.Transforms = new List <Matrix4x4>(); int pointNumber = Convert.ToInt32(ComputeBeziersInnerPointEvent.BeziersControlPoints.GetPointsRawDistance() * (ComputeBeziersInnerPointEvent.PointNumberPerUnitDistance)); for (var i = 0; i <= pointNumber; i++) { Vector3 worldPosition = ComputeBeziersInnerPointEvent.BeziersControlPoints.ResolvePoint((float)i / (float)pointNumber); ComputeBeziersInnerPointEventResponse.Transforms.Add(Matrix4x4.TRS(worldPosition, Quaternion.identity, ComputeBeziersInnerPointEvent.MeshScale)); } lock (this.computeBeziersInnerPointTasks) { this.computeBeziersInnerPointTasks.Remove(ComputeBeziersInnerPointEvent.ID); } this.SendComputeBeziersInnerPointResponse.Invoke(ComputeBeziersInnerPointEventResponse); }
protected override void OnComputeBeziersInnerPointResponse(ComputeBeziersInnerPointResponse ComputeBeziersInnerPointResponse) { }