CommandCallbackType InteractCommonHandle(byte[] dataBuffer, int socketID) { SMsgInteractCOMMONPackage sMsgInteractCOMMONPackage; sMsgInteractCOMMONPackage.sMsgInteractCOMMON_SC = SMsgInteractCOMMON_SC.ParseResultPackage(dataBuffer); sMsgInteractCOMMONPackage.sMsgInteractCOMMONBtn_SC = new SMsgInteractCOMMONBtn_SC[sMsgInteractCOMMONPackage.sMsgInteractCOMMON_SC.byBtnNum]; var offset = Marshal.SizeOf(sMsgInteractCOMMONPackage.sMsgInteractCOMMON_SC); var msgInteractCOMMONBtnLength = Marshal.SizeOf(typeof(SMsgInteractCOMMONBtn_SC)); for (int i = 0; i < sMsgInteractCOMMONPackage.sMsgInteractCOMMON_SC.byBtnNum; ++i) { sMsgInteractCOMMONPackage.sMsgInteractCOMMONBtn_SC[i] = SMsgInteractCOMMONBtn_SC.ParseResultPackage(dataBuffer, offset, msgInteractCOMMONBtnLength); offset += msgInteractCOMMONBtnLength; } RaiseEvent(EventTypeEnum.NPCInteraction.ToString(), sMsgInteractCOMMONPackage); return(CommandCallbackType.Continue); }
void OnSpecialButtonTapped(object obj) { SoundManager.Instance.PlaySoundEffect("Sound_Button_TownMain_Change"); SMsgInteractCOMMONBtn_SC att = (SMsgInteractCOMMONBtn_SC)obj; SMsgInteractCOMMON_CS msgInteract; msgInteract.dwNPCID = this.sMsgInteractCOMMONPackage.sMsgInteractCOMMON_SC.dwNPCID; msgInteract.byOperateType = att.byBtnType; msgInteract.dwParam1 = att.dwParam1; msgInteract.dwParam2 = att.dwParam2; msgInteract.byIsContext = 0; SMsgInteractCOMMONContext_CS msgContext; msgContext.szContext = new byte[32]; NetServiceManager.Instance.InteractService.SendInteractCOMMON(msgInteract, msgContext); UIEventManager.Instance.TriggerUIEvent(UIEventType.ShowTopCommonUI, null); }