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(); }
public AsCharacterCreateData( XmlElement _element) { XmlNode node = (XmlElement)_element; // <Name> SetValue( ref raceName, node, "Name"); // <Type> SetValue( ref race, node, "Type"); // <History> SetValue( ref history, node, "History"); // <AvailableClasses> XmlNode availableClasses = node[ "AvailableClasses"]; XmlNodeList availableClassList = availableClasses.ChildNodes; foreach( XmlNode classNode in availableClassList) { // <Class> string _class = classNode.InnerText; classes.Add( _class); } // <Classes> XmlNode classesNode = node[ "Classes"]; XmlNodeList classList = classesNode.ChildNodes; foreach( XmlNode classNode in classList) { // <Class> AsCharacterCreateClassData classData = new AsCharacterCreateClassData( classNode as XmlElement); if( true == dicJob.ContainsKey( classData.eClass)) continue; dicJob.Add( classData.eClass, classData); } }