CommandCallbackType InitializeTaskDataHandle(byte[] dataBuffer, int socketID) { SMsgInteractInitTask_SC sMsgInteractInitTask_SC; sMsgInteractInitTask_SC = SMsgInteractInitTask_SC.ParseResultPackage(dataBuffer); TaskModel.Instance.InitTask(sMsgInteractInitTask_SC.STaskStates); return(CommandCallbackType.Continue); }
public static SMsgInteractInitTask_SC ParseResultPackage(byte[] dataBuffer) { SMsgInteractInitTask_SC sMsgInteractInitTask_SC = new SMsgInteractInitTask_SC(); int offset = 0; byte byNum; offset += PackageHelper.ReadData(dataBuffer.ToArray(), out byNum); sMsgInteractInitTask_SC.STaskStates = new STaskState[byNum]; int length = Marshal.SizeOf(typeof(STaskState)); for (int i = 0; i < byNum; i++) { sMsgInteractInitTask_SC.STaskStates[i] = STaskState.ParseResultPackage(dataBuffer.Skip(offset).Take(length).ToArray()); offset += length; } return(sMsgInteractInitTask_SC); }