Beispiel #1
0
	private IEnumerator _ShowTargetSelectEffect(AsBaseEntity target)
	{
		if( null == target.gameObject)
			yield return null;
		
		GameObject goTarget = target.gameObject;
		
		if( null != AsEffectManager.Instance.GetEffectEntity( m_nTargetSelectEff))
			RemoveTargetSelectEffect();
		
		string strTargetSelectEffPath = string.Empty;
		if( eFsmType.MONSTER == target.FsmType)
			strTargetSelectEffPath = m_strTargetSelectEffPath_Red;
		else
			strTargetSelectEffPath = m_strTargetSelectEffPath_White;

		m_nTargetSelectEff = AsEffectManager.Instance.PlayEffect( strTargetSelectEffPath, goTarget.transform, true, 0.0f);
		
		float fScale = 1.0f;
		if( eFsmType.OTHER_USER != target.FsmType)
		{
			int nNpcID = target.GetProperty<int>( eComponentProperty.NPC_ID);
			Tbl_Npc_Record npcRec = AsTableManager.Instance.GetTbl_Npc_Record( nNpcID);

			if( 1 == npcRec.PointScale) fScale = 1.0f;
			else if( 2 == npcRec.PointScale) fScale = 1.2f;
			else if( 3 == npcRec.PointScale) fScale = 1.5f;
			else if( 4 == npcRec.PointScale) fScale = 2.0f;
			else if( 5 == npcRec.PointScale) fScale = 2.5f;
		}
		
		fScale *= target.GetCharacterSize();
		
		AsEffectManager.Instance.SetSize( m_nTargetSelectEff, fScale);
	}