public new void PacketBytesToClass( byte[] data) { Type infotype = this.GetType(); FieldInfo headerinfo = null; int index = ParsePacketHeader( data); // nCharCnt byte[] charCnt = new byte[ sizeof( Int32)]; headerinfo = infotype.GetField( "nCharCnt", BINDING_FLAGS_PIG); Buffer.BlockCopy( data, index, charCnt, 0, sizeof( Int32)); headerinfo.SetValue( this, BitConverter.ToInt32( charCnt, 0)); index += sizeof( Int32); body = new AS_SC_OTHER_CHAR_APPEAR_2[nCharCnt]; for( int i = 0; i < nCharCnt; i++) { body[i] = new AS_SC_OTHER_CHAR_APPEAR_2(); byte[] tmpData = new byte[AS_SC_OTHER_CHAR_APPEAR_2.size]; Buffer.BlockCopy( data, index, tmpData, 0, tmpData.Length); body[i].ByteArrayToClass( tmpData); index += AS_SC_OTHER_CHAR_APPEAR_2.size; } }
public OtherCharacterAppearData(AS_SC_OTHER_CHAR_APPEAR_2 _data) { creationType_ = eCreationType.OTHER_CHAR_APPEAR; sessionKey_ = _data.nSessionIdx; uniqKey_ = _data.nCharUniqKey; charName_ = Encoding.UTF8.GetString(_data.szCharName); guildName_ = Encoding.UTF8.GetString( _data.szGuildName); race_ = _data.eRace; class_ = _data.eClass; #if !NEW_DELEGATE_IMAGE userGender = _data.eUserGender; #endif gender_ = _data.eGender; #region -GMMark isGM = _data.bIsGM; #endregion hair_ = _data.nHair; hairColor_ = _data.nHairColor; level_ = _data.nLevel; // totExp_ = _data.nTotExp; hpCur_ = _data.fHpCur; hpMax_ = _data.fHpMax; // mpCur_ = _data.nMpCur; // mpMax_ = _data.nMpMax; designationID = _data.nSubTitleTableIdx; moveSpeed_ = _data.nMoveSpeed * 0.01f; atkSpeed_ = _data.nAtkSpeed; curPosition_ = _data.sCurPosition; destPosition_ = _data.sDestPosition; // attDistance_ = _data.fAttDistance; surverData = _data; // shopOpening_ = _data.bIsPrivateShop; if(shopOpening_ == true) Debug.Log("OtherCharacterAppearData::ctor: Shop opening(id:" + uniqKey_); hide_ = _data.bHide; //nPvpPoint_ = _data.nPvpPoint; nYesterdayPvpRank = _data.nYesterdayPvpRank; nYesterdayPvpPoint = _data.nYesterdayPvpPoint; nYesterdayPvpRankRate = _data.nYesterdayPvpRankRate; #if !NEW_DELEGATE_IMAGE nRankPoint_ = _data.nRankPoint; #endif bSubTitleHide = _data.bSubTitleHide; criticalChance = _data.bCriticalChance; dodgeChance = _data.bDodgeChance; nPetTableIdx_ = _data.nPetTableIdx; szPetName_ = _data.szPetName; sPetItem_ = _data.sPetItem; // nPetLevel = _data.nPetLevel; #if NEW_DELEGATE_IMAGE nDelegateImageTableIndex = _data.nDelegateImageTableIndex; #endif }
public CharacterSelectEntityData(AS_SC_OTHER_CHAR_APPEAR_2 _data) { creationType_ = eCreationType.OTHER_CHAR_APPEAR; sessionKey_ = _data.nSessionIdx; uniqKey_ = _data.nCharUniqKey; charName_ = Encoding.UTF8.GetString(_data.szCharName); race_ = _data.eRace; class_ = _data.eClass; // level_ = _data.nLevel; // totExp_ = _data.nTotExp; // hpCur_ = _data.nHpCur; // hpMax_ = _data.nHpMax; // mpCur_ = _data.nMpCur; // mpMax_ = _data.nMpMax; // moveSpeed_ = _data.fMoveSpeed; // curPosition_ = _data.sCurPosition; // destPosition_ = _data.sDestPosition; // attDistance_ = _data.fAttDistance; }
protected void CreateRenderTarget(eCLASS _eClass, eGENDER _gender, params int[] _partsIDs) { if (null == objCategoryListItem) return; if (null != AsHudDlgMgr.Instance.cashShopEntity) { AsEntityManager.Instance.RemoveEntity(AsHudDlgMgr.Instance.cashShopEntity); AsHudDlgMgr.Instance.cashShopEntity = null; } m_isShowInit = true; m_PartsRot = 300f; AS_SC_OTHER_CHAR_APPEAR_2 appear = new AS_SC_OTHER_CHAR_APPEAR_2(); appear.nCharUniqKey = uint.MaxValue; appear.eClass = (int)_eClass; appear.eGender = _gender; appear.eRace = (int)AsEntityManager.Instance.UserEntity.GetProperty<eRACE>(eComponentProperty.RACE); Tbl_Class_Record record = AsTableManager.Instance.GetTbl_Class_Record((eRACE)appear.eRace, (eCLASS)appear.eClass); if (null != record) appear.nMoveSpeed = (int)record.MoveSpeed; appear.bCostumeOnOff = PartsRoot.GetCosOnDef(); appear.sNormalItemVeiw_1 = new sITEMVIEW(); appear.sNormalItemVeiw_2 = new sITEMVIEW(); appear.sNormalItemVeiw_3 = new sITEMVIEW(); appear.sNormalItemVeiw_4 = new sITEMVIEW(); appear.sNormalItemVeiw_5 = new sITEMVIEW(); appear.sCosItemView_1 = new sITEMVIEW(); appear.sCosItemView_2 = new sITEMVIEW(); appear.sCosItemView_3 = new sITEMVIEW(); appear.sCosItemView_4 = new sITEMVIEW(); appear.sCosItemView_5 = new sITEMVIEW(); appear.sCosItemView_6 = new sITEMVIEW(); appear.sCosItemView_7 = new sITEMVIEW(); appear.fHpMax = 100f; appear.fHpCur = 100f; int count = 0; foreach (int id in _partsIDs) { Item _item = ItemMgr.ItemManagement.GetItem(id); if (null == _item) continue; if (_item.ItemData.GetItemType() == Item.eITEM_TYPE.UseItem && _item.ItemData.GetSubType() == (int)Item.eUSE_ITEM.ConsumeHair && _item.ItemData.needClass == _eClass && count == 0) { Item hairItem = ItemMgr.ItemManagement.GetItem(_item.ItemData.m_iItem_Rand_ID); if (hairItem != null) { if (hairItem.ItemData.GetItemType() == Item.eITEM_TYPE.EquipItem && hairItem.ItemData.GetSubType() == (int)Item.eEQUIP.Hair) appear.nHair = hairItem.ItemID; } continue; } count++; if (Item.eITEM_TYPE.CosEquipItem != _item.ItemData.GetItemType() && Item.eITEM_TYPE.EquipItem != _item.ItemData.GetItemType()) continue; switch ((Item.eEQUIP)_item.ItemData.GetSubType()) { case Item.eEQUIP.Weapon: appear.sNormalItemVeiw_1.nItemTableIdx = PartsRoot.GetDefWeaponItemID(_eClass); appear.sCosItemView_1.nItemTableIdx = id; break; case Item.eEQUIP.Head: appear.sCosItemView_2.nItemTableIdx = id; break; case Item.eEQUIP.Armor: appear.sCosItemView_3.nItemTableIdx = id; break; case Item.eEQUIP.Gloves: appear.sCosItemView_4.nItemTableIdx = id; break; case Item.eEQUIP.Point: appear.sCosItemView_5.nItemTableIdx = id; break; case Item.eEQUIP.Fairy: appear.sCosItemView_7.nItemTableIdx = id; break; case Item.eEQUIP.Wing: appear.sCosItemView_6.nItemTableIdx = id; break; } } OtherCharacterAppearData creationData = new OtherCharacterAppearData(appear); creationData.notRegisterMgr = true; AsHudDlgMgr.Instance.cashShopEntity = AsEntityManager.Instance.CreateUserEntity("OtherUser", creationData, true, true, 3f); if (null != leftRot) leftRot.AddInputDelegate(leftRotDelegate); if (null != rightRot) rightRot.AddInputDelegate(rightRotDelegate); m_isLeftRot = false; m_isRightRot = false; m_fEffectDlayTime = 0f; }