private void PlayRemoveItemSound( AS_body2_SC_DROPITEM_APPEAR data, int iDropItemID) { if( null == data) return; Item _item = ItemMgr.ItemManagement.GetItem( data.nItemTableIdx); if( null == _item) return ; Vector3 pos = m_DropItemList[iDropItemID].gameObject.transform.position; ItemMgr.Instance.PlayGainPlaySound( _item, pos); }
private DropItemAction CreateDropObject( AS_body2_SC_DROPITEM_APPEAR data, Item item) { if( null == item) return null; GameObject goDropItem = item.GetDropItem(); if( null == goDropItem) { Debug.LogError( " DropItemManagement::Create [null == goDropItem]"); return null; } GameObject goObject = GameObject.Instantiate( goDropItem, data.sCurPosition, Quaternion.identity) as GameObject; if( null == goObject) { Debug.LogError( "DropItemManagerMent::CreateDropObject()[ null == goObject ] item id : " + item.ItemID); return null; } DropItemAction action = goObject.GetComponentInChildren<DropItemAction>() as DropItemAction; if( null == action) { Debug.LogError( "DropItemManagement::Create no have DropItemAction script"); GameObject.Destroy( goObject); return null; } action.rootNode = goObject; if( null == m_ParentObject) m_ParentObject = new GameObject( "DropItem"); Vector3 vec3Pos = data.sCurPosition; vec3Pos.y = TerrainMgr.GetTerrainHeight( vec3Pos); goObject.transform.parent = m_ParentObject.transform; goObject.transform.localPosition = vec3Pos; goObject.transform.localRotation = Quaternion.identity; goObject.transform.localScale = Vector3.one; ResourceLoad.SetLayerHierArchy( goObject.transform, LayerMask.NameToLayer( "Item")); return action; }
// Insert public void InsertDropItem( AS_body2_SC_DROPITEM_APPEAR data) { if( null == data) { Debug.LogWarning( " Exist m_DropItemList[null == AS_body2_SC_DROPITEM_APPEAR]"); return; } if( true == IsExistDropItem( data.nDropItemIdx)) { Debug.LogWarning( " Exist m_DropItemList. iDropID : " + data.nDropItemIdx); return; } Item item = ItemMgr.ItemManagement.GetItem( data.nItemTableIdx); if( null == item) { Debug.LogError( "DropItemManagement::InsertDropItem [Item id == null]. item id : " + data.nItemTableIdx); return; } DropItemAction _action = CreateDropObject( data, item); if( null == _action) { Debug.LogError( "DropItemManagement::InsertDropItem [null == _action]. drop id : " + data.nDropItemIdx + " itemid : " + data.nItemTableIdx); return; } _action.Init( data); m_DropItemList.Add( data.nDropItemIdx, _action); PlayDropSound( ItemMgr.ItemManagement.GetItem( data.nItemTableIdx)); }
public new void PacketBytesToClass( byte[] data) { Type infotype = this.GetType(); FieldInfo headerinfo = null; int index = ParsePacketHeader( data); // nDropItemCnt byte[] dropItemCnt = new byte[ sizeof( Int32)]; headerinfo = infotype.GetField( "nDropItemCnt", BINDING_FLAGS_PIG); Buffer.BlockCopy( data, index, dropItemCnt, 0, sizeof( Int32)); headerinfo.SetValue( this, BitConverter.ToInt32( dropItemCnt, 0)); index += sizeof( Int32); body = new AS_body2_SC_DROPITEM_APPEAR[nDropItemCnt]; for( int i = 0; i < nDropItemCnt; i++) { body[i] = new AS_body2_SC_DROPITEM_APPEAR(); byte[] tmpData = new byte[AS_body2_SC_DROPITEM_APPEAR.size]; Buffer.BlockCopy( data, index, tmpData, 0, tmpData.Length); body[i].ByteArrayToClass( tmpData); index += AS_body2_SC_DROPITEM_APPEAR.size; } }
public void AddDropItem( AS_body2_SC_DROPITEM_APPEAR dropItem) { m_ReciveDropItem.Add( dropItem); }
//--------------------------------------------------------------------- /* function */ //--------------------------------------------------------------------- public void Init( AS_body2_SC_DROPITEM_APPEAR dropItem ) { m_DropData = dropItem; }