Exemplo n.º 1
0
	public CharacterLoadData( ushort _sessionKey, sCHARVIEWDATA _data)
	{
		creationType_ = eCreationType.CHAR_LOAD_RESULT;
		
		sessionKey_ = _sessionKey;
		uniqKey_ = _data.nCharUniqKey;
		
		if(uniqKey_ == AsUserInfo.Instance.nPrivateShopOpenCharUniqKey && AsUserInfo.Instance.nPrivateShopOpenCharUniqKey != 0)
		{
			shopOpening_ = true;
//			shopUId_ = AsUserInfo.Instance.np
			Debug.Log("CharacterLoadData::ctor: Shop opening(id:" + uniqKey_);
		}
		
		charName_ = AsUtil.GetRealString( Encoding.UTF8.GetString( _data.szCharName));
		guildName_ = "";
		
		race_ = (int)_data.eRace;
		class_ = (int)_data.eClass;
		gender_ = _data.eGender;
		level_ = _data.nLevel;	
		nHairItemIndex = _data.nHair + _data.nHairColor;
		
		bCostumeOnOff = _data.bCostumeOnOff;
		sCharView = new sITEMVIEW[ AsGameDefine.ITEM_SLOT_VIEW_COUNT];
		sCharView[0] = _data.sNormalItemVeiw_1;
		sCharView[1] = _data.sNormalItemVeiw_2;
		sCharView[2] = _data.sNormalItemVeiw_3;
		sCharView[3] = _data.sNormalItemVeiw_4;
		sCharView[4] = _data.sNormalItemVeiw_5;
		
		sCosItemView = new sITEMVIEW[ AsGameDefine.ITEM_SLOT_COS_VIEW_COUNT];
		sCosItemView[0] = _data.sCosItemView_1;
		sCosItemView[1] = _data.sCosItemView_2;
		sCosItemView[2] = _data.sCosItemView_3;
		sCosItemView[3] = _data.sCosItemView_4;
		sCosItemView[4] = _data.sCosItemView_5;
		sCosItemView[5] = _data.sCosItemView_6;
		sCosItemView[6] = _data.sCosItemView_7;
	}
Exemplo n.º 2
0
	public void SetCurrentUserCharacterInfo( sCHARVIEWDATA _info)
	{
		curUserCharacterinfo = _info;
	}
Exemplo n.º 3
0
	public void ReplaceSlotData( sCHARVIEWDATA data)
	{
		latestCharSlot = data.nCharSlot;
		characterInfos[ data.nCharSlot] = data;
	}
Exemplo n.º 4
0
	public void AddCharacter( sCHARVIEWDATA info)
	{
		if( false == characterInfos.Contains( info))
		{
			characterInfos.Add( info);
		}
	}
Exemplo n.º 5
0
	IEnumerator SetModeling()
	{
		AsLoadingIndigator.Instance.ShowIndigator( string.Empty);

		while( false == AsEntityManager.Instance.gameObject.active)
			yield return null;
		
		ReleaseModeling();
		
		eRACE race = (eRACE)AsCharacterCreateFramework.curRace;
		eCLASS job = (eCLASS)AsCharacterCreateFramework.curJob;
		eGENDER gender = (eGENDER)AsCharacterCreateFramework.curGender;
		
		sCHARVIEWDATA viewData = new sCHARVIEWDATA();
		viewData.eRace = race;
		viewData.eClass = job;
		viewData.eGender = gender;
		
		m_CharCreateGenderData = AsTableManager.Instance.GetTbl_CreateCharacter_GenderData( race, job, gender);
		if( null == m_CharCreateGenderData)
			Debug.LogError( "AsCustomizingPanel::SetModeling()[ con't find m_CharCreateGenderData ] race : " + race + " job : "+ job +" gender : " +gender);
		
		m_CharCreateClassData = AsTableManager.Instance.GetTbl_CreateCharacter_ClassData( race, job);
		if( null == m_CharCreateClassData)
			Debug.LogError( "AsCustomizingPanel::SetModeling()[ con't find m_CharCreateClassData ] race : " + race + " job : "+ job);
		
		int iHair = 0;
		if( null != m_CharCreateGenderData && null != m_CharCreateClassData)
		{
			iHair = (int)m_CharCreateGenderData.hairTypes[0] + (int)m_CharCreateGenderData.hairColors[0];
			int ibody = (int)m_CharCreateGenderData.bodyColors[0];
			int iPoint = (int)m_CharCreateGenderData.pointColors[0];
			int iGlove = (int)m_CharCreateGenderData.gloveColors[0];
			
			viewData.sNormalItemVeiw_1 = new sITEMVIEW();
			viewData.sNormalItemVeiw_1.nItemTableIdx = m_CharCreateClassData.commonProp.weapon;
			
			viewData.sNormalItemVeiw_2 = new sITEMVIEW();
			viewData.sNormalItemVeiw_2.nItemTableIdx = 0;
			
			viewData.sNormalItemVeiw_3 = new sITEMVIEW();
			viewData.sNormalItemVeiw_3.nItemTableIdx = ibody;
			
			viewData.sNormalItemVeiw_4 = new sITEMVIEW();
			viewData.sNormalItemVeiw_4.nItemTableIdx = iGlove;
			
			viewData.sNormalItemVeiw_5 = new sITEMVIEW();
			viewData.sNormalItemVeiw_5.nItemTableIdx = iPoint;
		}
		
		CharacterLoadData entityCreationData = new CharacterLoadData( ushort.MaxValue, viewData);
		entityCreationData.nHairItemIndex = iHair;
		
		m_ModelEntity = AsEntityManager.Instance.CreateUserEntity( "PlayerChar", entityCreationData, false);
		
		m_ModelEntity.HandleMessage( new Msg_AnimationIndicate( "Idle"));

		charDummy.transform.position = new Vector3( GetCharacterPositionX(), charDummy.transform.position.y, charDummy.transform.position.z);
		m_ModelEntity.gameObject.transform.localPosition = Vector3.zero;
		m_ModelEntity.gameObject.transform.localRotation = Quaternion.identity;
		m_ModelEntity.gameObject.transform.localScale = charDummy.transform.localScale;
		
		while( true)
		{
			if( eModelLoadingState.Finished == m_ModelEntity.CheckModelLoadingState())
				break;
			
			yield return null;
		}

		m_ModelEntity.transform.parent = charDummy.transform;
		SetLayerHierArchy( m_ModelEntity.transform, LayerMask.NameToLayer( "GUI"));
		
		Initialize();

		while( true == PartsRoot.s_isLoading)
			yield return null;

		genderIcons[0].controlIsEnabled = true;
		genderIcons[1].controlIsEnabled = true;

		AsLoadingIndigator.Instance.HideIndigator();
	}
Exemplo n.º 6
0
	public void SetDeleteState( body_GC_CHAR_DELETE_RESULT data)
	{
		AsCharacterSlot slot = slotArray[ data.nCharSlot] as AsCharacterSlot;
		slot.SetDeleteState( data.nRemainTime);

		sCHARVIEWDATA viewData = new sCHARVIEWDATA();
		viewData = AsUserInfo.Instance.GetCharacter( data.nCharSlot) as sCHARVIEWDATA;
		viewData.nRemainTime = data.nRemainTime;
		AsUserInfo.Instance.ReplaceSlotData( viewData);
	}
Exemplo n.º 7
0
	public new void PacketBytesToClass( byte[] data)
	{
		Type infotype = this.GetType();
		FieldInfo headerinfo = null;

		int index = ParsePacketHeader( data);

		// eResult
		byte[] result = new byte[ sizeof( Int32)];
		headerinfo = infotype.GetField( "eResult", BINDING_FLAGS_PIG);
		Buffer.BlockCopy( data, index, result, 0, sizeof( Int32));
		headerinfo.SetValue( this, BitConverter.ToInt32( result, 0));
		index += sizeof( Int32);

		// bPossibleCharCreate
		byte[] create = new byte[ sizeof( bool)];
		headerinfo = infotype.GetField( "bPossibleCharCreate", BINDING_FLAGS_PIG);
		Buffer.BlockCopy( data, index, create, 0, sizeof( bool));
		headerinfo.SetValue( this, BitConverter.ToBoolean( create, 0));
		index += sizeof( bool);

		// nEnableSlotCnt
		byte[] enableSlotCnt = new byte[ sizeof( Int32)];
		headerinfo = infotype.GetField( "nEnableSlotCnt", BINDING_FLAGS_PIG);
		Buffer.BlockCopy( data, index, enableSlotCnt, 0, sizeof( Int32));
		headerinfo.SetValue( this, BitConverter.ToInt32( enableSlotCnt, 0));
		index += sizeof( Int32);

		// nLastSelectCharSlot
		byte[] latestCharSlot = new byte[ sizeof( Int32)];
		headerinfo = infotype.GetField( "nLastSelectCharSlot", BINDING_FLAGS_PIG);
		Buffer.BlockCopy( data, index, latestCharSlot, 0, sizeof( Int32));
		headerinfo.SetValue( this, BitConverter.ToInt32( latestCharSlot, 0));
		index += sizeof( Int32);

		// nMiracle
		byte[] sphere = new byte[ sizeof( Int64)];
		headerinfo = infotype.GetField( "nMiracle", BINDING_FLAGS_PIG);
		Buffer.BlockCopy( data, index, sphere, 0, sizeof( Int64));
		headerinfo.SetValue( this, BitConverter.ToInt64( sphere, 0));
		index += sizeof( Int64);

		// nPrivateShopOpenCharUniqKey
		byte[] tempNewMember = new byte[ sizeof( UInt32)];
		headerinfo = infotype.GetField( "nPrivateShopOpenCharUniqKey", BINDING_FLAGS_PIG);
		Buffer.BlockCopy( data, index, tempNewMember, 0, sizeof( UInt32));
		headerinfo.SetValue( this, BitConverter.ToUInt32( tempNewMember, 0));
		index += sizeof( UInt32);

		// nPrivateShopRemainingTime
		tempNewMember = new byte[ sizeof( Int64)];
		headerinfo = infotype.GetField( "nPrivateShopRemainingTime", BINDING_FLAGS_PIG);
		Buffer.BlockCopy( data, index, tempNewMember, 0, sizeof( Int64));
		headerinfo.SetValue( this, BitConverter.ToInt64( tempNewMember, 0));
		index += sizeof( Int64);

		// nPrivateShopCreateItemSlot
		tempNewMember = new byte[ sizeof( Int32)];
		headerinfo = infotype.GetField( "nPrivateShopCreateItemSlot", BINDING_FLAGS_PIG);
		Buffer.BlockCopy( data, index, tempNewMember, 0, sizeof( Int32));
		headerinfo.SetValue( this, BitConverter.ToInt32( tempNewMember, 0));
		index += sizeof( Int32);

		// nCharCnt
		byte[] characterCount = new byte[ sizeof( Int32)];
		headerinfo = infotype.GetField( "nCharCnt", BINDING_FLAGS_PIG);
		Buffer.BlockCopy( data, index, characterCount, 0, sizeof( Int32));
		headerinfo.SetValue( this, BitConverter.ToInt32( characterCount, 0));
		index += sizeof( Int32);

		if( 0 < nCharCnt)
		{
			sCharView = new sCHARVIEWDATA[ nCharCnt];
			for( int i = 0; i < nCharCnt; i++)
			{
				sCharView[i] = new sCHARVIEWDATA();

				byte[] tmpData = new byte[ sCHARVIEWDATA.size];
				Buffer.BlockCopy( data, index, tmpData, 0, tmpData.Length);
				sCharView[i].ByteArrayToClass( tmpData);
				index += sCHARVIEWDATA.size;
			}
		}
	}