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; }
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(); }
void _PetProc( AsUserEntity _user, OtherCharacterAppearData _data) { if( _data.nPetTableIdx_ > 0) { PetAppearData appear = new PetAppearData(_user, _data); _user.HandleMessage( new Msg_PetDataIndicate( appear)); // PetAppear( appear); } }