public override void BuildPacket() { this.PushIntoStack(userGeneral == null ? string.Empty : userGeneral.GeneralName.ToNotNullString()); this.PushIntoStack(userGeneral == null ? string.Empty : userGeneral.HeadID.ToNotNullString()); this.PushIntoStack(userGeneral == null ? (short)0 : userGeneral.FeelLv); this.PushIntoStack(userGeneral == null ? 0 : userGeneral.FeelExperience); this.PushIntoStack(upExperience); this.PushIntoStack(giftName.ToNotNullString()); this.PushIntoStack(userGeneral == null ? (short)0 : userGeneral.SaturationNum); this.PushIntoStack(goldNum); this.PushIntoStack(skillName.ToNotNullString()); this.PushIntoStack(demandLv); this.PushIntoStack(isLearn); this.PushIntoStack(skillDesc.ToNotNullString()); this.PushIntoStack(isSaturation); this.PushIntoStack(propertyList.Count); foreach (var item in propertyList) { int upNum = GiftHelper.FeelUpPropertyNum(ContextUser.UserID, generalID, item.AbilityType); DataStruct dsItem = new DataStruct(); dsItem.PushIntoStack((int)item.AbilityType); dsItem.PushIntoStack((int)item.AbilityValue); dsItem.PushIntoStack(upNum); this.PushIntoStack(dsItem); } }