Пример #1
0
	private void CharacterLoad()
	{
		if( true == loadStarted)
			return;

		if( ( 0 > screenIndex) || ( 2 < screenIndex))
			return;

		AsPacketHeader packet = AsUserInfo.Instance.GetCharacter( index);
		if( null == packet)
			return;

		CharacterLoadData entityCreationData = null;

		if( packet.GetType() == typeof( sCHARVIEWDATA))
		{
			sCHARVIEWDATA viewData = packet as sCHARVIEWDATA;

			Debug.Log( "AsCharacterSlotManager::_CreateCharacter: viewData.nCharUniqKey" + viewData.nCharUniqKey);

			entityCreationData = new CharacterLoadData( AsUserInfo.Instance.GamerUserSessionIdx, viewData);
			userEntity = AsEntityManager.Instance.CreateUserEntity( "PlayerChar", entityCreationData, false);
			userEntity.transform.parent = charDummy.transform;
			userEntity.transform.localPosition = Vector3.zero;
			userEntity.transform.localScale = Vector3.one;
			userEntity.transform.localRotation = Quaternion.identity;
			userEntity.HandleMessage( new Msg_AnimationIndicate( "Idle"));

			emptyEffect.gameObject.SetActiveRecursively( false);
		}
		else if( packet.GetType() == typeof( AS_GC_CHAR_LOAD_RESULT_EMPTY))
		{
			entityCreationData = new CharacterLoadData( AsUserInfo.Instance.GamerUserSessionIdx, packet as AS_GC_CHAR_LOAD_RESULT_EMPTY);
			userEntity = AsEntityManager.Instance.CreateUserEntity( "EmptySlot", entityCreationData);
			Debug.Assert( null != userEntity);
		}

		info.SetData( userEntity, isLocked);

		loadStarted = true;
	}
Пример #2
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();
	}
Пример #3
0
	void _PetProc( AsUserEntity _user, OtherCharacterAppearData _data)
	{
		if( _data.nPetTableIdx_ > 0)
		{
			PetAppearData appear = new PetAppearData(_user, _data);
			_user.HandleMessage( new Msg_PetDataIndicate( appear));
//			PetAppear( appear);
		}
	}