static public int DistanceCompare( AS_SC_NPC_APPEAR_2 appear1, AS_SC_NPC_APPEAR_2 appear2) { AsUserEntity user = AsUserInfo.Instance.GetCurrentUserEntity(); Debug.Assert( null != user); Vector3 pos = user.transform.position; float dist1 = Mathf.Abs( ( pos - appear1.sCurPosition).magnitude); float dist2 = Mathf.Abs( ( pos - appear2.sCurPosition).magnitude); return dist1.CompareTo( dist2); }
public void AddNpcAppear(AS_SC_NPC_APPEAR_2 _npcAppear) { if (!dicNpcAppear.ContainsKey(_npcAppear.nNpcTableIdx)) dicNpcAppear.Add(_npcAppear.nNpcTableIdx, _npcAppear); }
public NpcAppearData(AS_SC_NPC_APPEAR_2 _data) { creationType_ = eCreationType.NPC_APPEAR; //SUPER npcIdx_ = _data.nNpcIdx; Tbl_Npc_Record record = AsTableManager.Instance.GetTbl_Npc_Record(_data.nNpcTableIdx); npcType_ = record.NpcType; //CUR nameHead_ = _data.nNameHead; charName_ = record.NpcName; tableIdx_ = _data.nNpcTableIdx; hpMax_ = _data.nHpMax; hpCur_ = _data.nHpCur; mpMax_ = _data.nMpMax; mpCur_ = _data.nMpCur; atkSpeed_ = _data.nAtkSpeed * 0.001f; curPosition_ = _data.sCurPosition; curRotate = _data.fCurRotate; }
public new void PacketBytesToClass( byte[] data) { Type infotype = this.GetType(); FieldInfo headerinfo = null; int index = ParsePacketHeader( data); // nNpcCnt byte[] npcCnt = new byte[ sizeof( Int32)]; headerinfo = infotype.GetField( "nNpcCnt", BINDING_FLAGS_PIG); Buffer.BlockCopy( data, index, npcCnt, 0, sizeof( Int32)); headerinfo.SetValue( this, BitConverter.ToInt32( npcCnt, 0)); index += sizeof( Int32); body = new AS_SC_NPC_APPEAR_2[nNpcCnt]; for( int i = 0; i < nNpcCnt; i++) { body[i] = new AS_SC_NPC_APPEAR_2(); byte[] tmpData = new byte[AS_SC_NPC_APPEAR_2.size]; Buffer.BlockCopy( data, index, tmpData, 0, tmpData.Length); body[i].ByteArrayToClass( tmpData); index += AS_SC_NPC_APPEAR_2.size; } }
public void NpcAppearForEvent(AS_SC_NPC_APPEAR_2 _appear) { if (true == m_dicNpcEntity_SessionId.ContainsKey(_appear.nNpcIdx)) { Debug.LogError("[AsEntityManager]NpcAppear: already created character. id = " + _appear.nNpcIdx); return; } NpcAppearData creationData = new NpcAppearData(_appear); if (creationData.npcType_ == eNPCType.NPC) AsEntityManager.Instance.CreateNpcEntity( "Npc", creationData); }