Exemple #1
0
	IEnumerator FadeOut()
	{
		if( null == m_Renderers)
			yield break;

		eMonster_Grade eGrade = m_MonsterEntity.GetProperty<eMonster_Grade>( eComponentProperty.GRADE);
		if( eMonster_Grade.Boss == eGrade)
			yield return new WaitForSeconds( AsTableManager.Instance.GetTbl_GlobalWeight_Record( 56).Value * 0.001f);

		fadeTime = 1.0f;

		while( true)
		{
			fadeTime -= Time.deltaTime;
			float alpha = Mathf.Clamp01( fadeTime);

			foreach( Renderer ren in m_Renderers)
			{
				if( null == ren)
					continue;

				ren.material.SetFloat( "_Alpha", alpha);
			}

			if( 0.0f >= alpha)
			{
				if( ( null == MonsterEntity) || ( null == MonsterEntity.ModelObject) || ( null == MonsterEntity.ModelObject.gameObject))
				{
					Debug.LogError( "AsMonsterFsm::FadeOut()[ null == monsterEntity ]");
					yield break;
				}

				MonsterEntity.ModelObject.gameObject.SetActiveRecursively( false);

				#region -MonsterLines
				if( null != prevBalloon)
				{
					prevBalloon.Owner = null;
					prevBalloon = null;
				}
				#endregion

				yield break;
			}

			yield return null;
		}
	}
Exemple #2
0
	void PromptLines( string line)
	{
		if( null == line)
			return;

		if( null != prevBalloon)
		{
			GameObject.DestroyImmediate( prevBalloon.gameObject);
			prevBalloon = null;
		}

		GameObject go = GameObject.Instantiate( ResourceLoad.LoadGameObject( "UI/Optimization/Prefab/GUI_Balloon")) as GameObject;
		Debug.Assert( null != go);
		AsChatBalloonBase balloon = go.GetComponent<AsChatBalloonBase>();
		Debug.Assert( null != balloon);
		balloon.OwnerType = eBalloonOwnerType.Monster;
		balloon.gameObject.transform.localPosition = Vector3.zero;
		balloon.Owner = m_Entity;
		balloon.SetText( line);
		prevBalloon = balloon;
	}
Exemple #3
0
	public AsChatBalloonBase AddChatBalloon( AsChatBalloonBase chatBalloon, string msg)
	{
		if( null == ModelObject)
			return null;

		DeleteChatBalloon();

		AsChatBalloonBase balloon = GameObject.Instantiate( chatBalloon) as AsChatBalloonBase;
		balloon.gameObject.transform.localPosition = Vector3.zero;
		balloon.Owner = this;
		balloon.SetText( msg);
		balloon.isNeedDelete = false;
		prevBalloon = balloon;

		Vector3 worldPos = ModelObject.transform.position;
		worldPos.y += characterController.height;

		Vector3 screenPos = CameraMgr.Instance.WorldToScreenPoint( worldPos);
		Vector3 vRes = CameraMgr.Instance.ScreenPointToUIRay( screenPos);
		vRes.y += 2.0f;
		vRes.z = 0.0f;
		balloon.gameObject.transform.position = vRes;
		
		return balloon;
	}
Exemple #4
0
	public void DeleteChatBalloon()
	{
		if( null == ModelObject)
			return;

		if( null != prevBalloon)
		{
			GameObject.DestroyImmediate( prevBalloon.gameObject);
			prevBalloon = null;
		}
	}
Exemple #5
0
	public void AddChatBalloon( AsChatBalloonBase chatBalloon, string msg)
	{
		if( null == ModelObject)
			return;

		if( null != prevBalloon)
		{
			GameObject.DestroyImmediate( prevBalloon.gameObject);
			prevBalloon = null;
		}

		AsChatBalloonBase balloon = GameObject.Instantiate( chatBalloon) as AsChatBalloonBase;
		balloon.gameObject.transform.localPosition = Vector3.zero;
		balloon.Owner = this;
		balloon.SetText( msg);
		prevBalloon = balloon;

		Vector3 worldPos = ModelObject.transform.position;
		worldPos.y += characterController.height;
		Vector3 screenPos = CameraMgr.Instance.WorldToScreenPoint( worldPos);
		Vector3 vRes = CameraMgr.Instance.ScreenPointToUIRay( screenPos);
		vRes.y += 2.0f;
		vRes.z = 0.0f;
		balloon.gameObject.transform.position = vRes;
	}