// 删除页逻辑,不仅要显示删除,同时点数也要删除; // 目前删除的逻辑:将当前页和序号页分离。this.nCurPageSortIndex是序号,nViewIndex是创建的真是当前页,储存到数据库的索引,会增大到int最大值 public void SetDeletePage(ref cmd_Entity_Talent_Page_Detele cmdPointDelete) { int nDeletePageDataIndex = GetDataIndex(nCurPageSortIndex); var nMaxIndex = nMaxSortIndex; int nNextIndex = 0; DeleteTalentPagePointsInfo(this.nCurPageSortIndex); if (this.nCurPageSortIndex == nMaxIndex) { nNextIndex = nCurPageSortIndex - 1; } else if (this.nCurPageSortIndex < nMaxIndex) { nNextIndex = nCurPageSortIndex; } if (nNextIndex != 0) { SetCurPageIndex(nNextIndex); } nMaxSortIndex--; cmdPointDelete.nCurTalentPage = nDeletePageDataIndex; return; }
public void SetDeleteCurPage() { cmd_Entity_Talent_Page_Detele cmdPointDelete = new cmd_Entity_Talent_Page_Detele(); LogicDataCenter.talentPageDataManager.SetDeletePage(ref cmdPointDelete); EntityEventHelper.Instance.SendCommand <cmd_Entity_Talent_Page_Detele>(EntityFactory.MainHeroID, EntityLogicDef.ENTITY_CMD_BEGIN_TALENT_PAGE_DELETE, ref cmdPointDelete); GetViewDataAndShow(); }
public void OnTalentPagePointsDelete(int nPageIndex) { this.dTalentPageInfo.Remove(nPageIndex); cmd_Entity_Talent_Page_Detele cmdPointDelete = new cmd_Entity_Talent_Page_Detele(); cmdPointDelete.nCurTalentPage = nPageIndex; IntPtrHelper helper = new IntPtrHelper(); IntPtr ptr = helper.toPtr <cmd_Entity_Talent_Page_Detele>(ref cmdPointDelete); int len = Marshal.SizeOf(cmdPointDelete); GameLogicAPI.onEntityEvent(EntityFactory.MainHeroID, (int)EntityLogicDef.ENTITY_CMD_BEGIN_TALENT_PAGE_DELETE, len, "", ptr, len); }