public E2CubeMovementWorker(out E2CubeMovementContractPosition contractPosition, ref E2CubeMovementDataInput dataInput) { contractPosition = ContractPosition = new E2CubeMovementContractPosition(); DataInput = dataInput; SetThreadCount(1); SetThreadShareParam(0, EudiThreading.GetThreadGroup <E2CubeMovementWorker>(), EudiSynchronizationType.TrueMultiThreading); }
public Worker(ref Contract contract) { _contract = contract; SetThreadCount(32); for (int i = 0; i < ThreadCount; i++) { SetThreadShareParam(i, EudiThreading.GetThreadGroup <Worker>(i)); } }
public E1CubeMovementWorker(out E1CubeMovementContractPositionScale contractPosition, out E1CubeMovementContractHeavyRotation contractRotation, ref E1CubeMovementData data) { contractPosition = ContractPositionScale = new E1CubeMovementContractPositionScale(); contractRotation = ContractRotation = new E1CubeMovementContractHeavyRotation(); Data = data; SetThreadCount(2); SetThreadShareParam(0, EudiThreading.GetThreadGroup <E1CubeMovementWorker>(), E1CubeMovementOnStart.SyncType); SetThreadShareParam(1, EudiThreading.GetThreadGroup <E1CubeMovementWorker>(1 + Time.frameCount % 2), E1CubeMovementOnStart.SyncType); }