public void SetProductTechnique( body_SC_ITEM_PRODUCT_TECHNIQUE_INFO _data) { if( null == m_itemProductionInfo) return; if( m_itemProductionInfo.sProductInfo.Length <=_data.eProductType) { AsUtil.ShutDown( "m_itemProductionInfo.sProductInfo.Length >= iIndex [ index : " + _data.eProductType); return; } bool isLevelUp = false; if( m_itemProductionInfo.sProductInfo[_data.eProductType].nLevel < _data.sProductInfo.nLevel) isLevelUp = true; m_itemProductionInfo.sProductInfo[ _data.eProductType ] = _data.sProductInfo; if( isLevelUp) { QuestMessageBroadCaster.BrocastQuest( QuestMessages.QM_PRODUCE_MASTERY, new AchProductionMastery( (eITEM_PRODUCT_TECHNIQUE_TYPE)_data.eProductType, _data.sProductInfo.nLevel)); ArkQuestmanager.instance.CheckQuestMarkAllNpcAndCollecion(); if( null != AsUserInfo.Instance.GetCurrentUserEntity() && null != AsUserInfo.Instance.GetCurrentUserEntity().ModelObject) { AsEffectManager.Instance.PlayEffect( "Fx/Effect/COMMON/Fx_Common_Technic_LevelUp", AsUserInfo.Instance.GetCurrentUserEntity().ModelObject.transform, false, 0); AsSoundManager.Instance.PlaySound( "Sound/PC/Common/Se_Common_Technic_LevelUp", Vector3.zero, false); } AsChatManager.Instance.InsertChat( string.Format( AsTableManager.Instance.GetTbl_String(406), ProductionTechnologyItem.GetName( (eITEM_PRODUCT_TECHNIQUE_TYPE) _data.eProductType), _data.sProductInfo.nLevel), eCHATTYPE.eCHATTYPE_SYSTEM); } }
private void ReceiveItemProductTechniqueInfo( byte[] _packet) { Debug.Log( "ReceiveItemProductTechniqueInfo"); body_SC_ITEM_PRODUCT_TECHNIQUE_INFO data = new body_SC_ITEM_PRODUCT_TECHNIQUE_INFO(); data.PacketBytesToClass( _packet); int nExp = AsUserInfo.Instance.GetTechInfoDiffValue( data); AsUserInfo.Instance.SetProductTechnique( data); if( AsHudDlgMgr.Instance.IsOpenProductionDlg) AsHudDlgMgr.Instance.productionDlg.ReceiveTechniqueRegister( data); StartCoroutine( ExpShow( nExp, AsPanelManager.eCustomFontType.eCustomFontType_EXP2)); }
public int GetTechInfoDiffValue( body_SC_ITEM_PRODUCT_TECHNIQUE_INFO _data) { if( null == m_itemProductionInfo) return 0; if( m_itemProductionInfo.sProductInfo.Length <=_data.eProductType) { AsUtil.ShutDown( "m_itemProductionInfo.sProductInfo.Length >= iIndex [ index : " + _data.eProductType); return 0; } return _data.sProductInfo.nTotExp - m_itemProductionInfo.sProductInfo[ _data.eProductType ].nTotExp; }
public void ReceiveTechniqueRegister( body_SC_ITEM_PRODUCT_TECHNIQUE_INFO _data ) { if( m_ItemProductInfo.sProductInfo.Length <= _data.eProductType ) { Debug.LogError("ProductionDlg::SetTechniqueRegister()[ m_ItemProductInfo.sProductInfo.Length <= _data.eProductType ] eProductType : "+ _data.eProductType ); return; } m_ItemProductInfo.sProductInfo[_data.eProductType] = _data.sProductInfo; m_iTechOpenNum = GetTechniqueInfoCount(m_ItemProductInfo); if( ePRODUCTION_STATE.TECHNOLOGY == m_eCurState && true == productionTechnologyTab.gameObject.active ) { productionTechnologyTab.Open( m_iTechOpenNum, getItemProductInfo.sProductInfo ); } }