Exemple #1
0
	void CreateDummyObj( eFsmType type)
	{
//		Debug.Log( "FsmType : " + type);
		
		switch( type)
		{
		case eFsmType.COLLECTION:
			m_DummyObj = Instantiate( Resources.Load( "UseScript/LoadingDummy/B_Common_LoadD_01_01")) as GameObject;
			break;
		case eFsmType.MONSTER:
			AsNpcEntity npc = m_Entity as AsNpcEntity;
			Tbl_Monster_Record record = AsTableManager.Instance.GetTbl_Monster_Record( npc.TableIdx);
			if( null != record)
			{
				if( eMonster_Grade.DObject == record.Grade || eMonster_Grade.Treasure == record.Grade)
				{
					m_DummyObj = Instantiate( Resources.Load( "UseScript/LoadingDummy/B_Common_LoadD_01_02")) as GameObject;
				}
				else
				{
					if( eMonster_AttackType.Offensive == record.AttackType)
						m_DummyObj = Instantiate( Resources.Load( "UseScript/LoadingDummy/B_Common_LoadD_01_05")) as GameObject;
					else
						m_DummyObj = Instantiate( Resources.Load( "UseScript/LoadingDummy/B_Common_LoadD_01_04")) as GameObject;
				}
			}
			else
			{
				m_DummyObj = Instantiate( Resources.Load( "UseScript/LoadingDummy/B_Common_LoadD_01_04")) as GameObject;
			}
			break;
		case eFsmType.NPC:
			m_DummyObj = Instantiate( Resources.Load( "UseScript/LoadingDummy/B_Common_LoadD_01_03")) as GameObject;
			break;
		case eFsmType.OBJECT:
			m_DummyObj = Instantiate( Resources.Load( "UseScript/LoadingDummy/B_Common_LoadD_01_02")) as GameObject;
			break;
		case eFsmType.OTHER_USER:
			m_DummyObj = Instantiate( Resources.Load( "UseScript/LoadingDummy/B_Common_LoadD_01_03")) as GameObject;
			break;
		case eFsmType.PLAYER:
			return;
		default:
			m_DummyObj = Instantiate( Resources.Load( "UseScript/LoadingDummy/B_Common_LoadD_01_03")) as GameObject;
			break;
		}

		if( null == m_DummyObj)
		{
			Debug.Log( "CreateDummyObj(): failed");
			return;
		}
		
		m_DummyObj.transform.parent = Entity.transform;
		m_DummyObj.transform.localPosition = Vector3.zero;
		m_DummyObj.transform.localRotation = Quaternion.Euler( -90.0f, 0.0f, 0.0f);
		//m_DummyObj.transform.localScale = Vector3.one;
		
		float fDummyObjLocalScale = 2.0f;
		
		if( eEntityType.NPC == m_Entity.EntityType && m_Entity.FsmType != eFsmType.PET)
		{
			AsNpcEntity npc = m_Entity as AsNpcEntity;
			Tbl_Npc_Record record = AsTableManager.Instance.GetTbl_Npc_Record( npc.TableIdx);
			if( null != record && record.OrgSize > 0.0f)
				fDummyObjLocalScale = record.OrgSize;
		}
		
		m_DummyObj.transform.localScale = new Vector3( fDummyObjLocalScale, fDummyObjLocalScale, fDummyObjLocalScale);
	}
	public List<AsNpcEntity> GetEntityListByFsmType( eFsmType _fsmType)
	{
		List<AsNpcEntity> listNpc = new List<AsNpcEntity>();

		foreach( KeyValuePair<int, AsNpcEntity> pair in m_dicNpcEntity_SessionId)
		{
			if( pair.Value.FsmType == _fsmType)
				listNpc.Add( pair.Value);
		}

		return listNpc;
	}