using System;
using UnityEngine;

public class CameraChase : MonoBehaviour
{
	public void StartChase(bool f_bOnece, float f_fTime, Vector3 f_vWorldOffset)
	{
		this.m_bOnece = f_bOnece;
		this.m_fTime = f_fTime;
		this.m_fNowTime = 0f;
		this.m_camMain = GameMain.Instance.MainCamera;
		this.m_trMy = base.gameObject.transform;
		this.m_vWorldOffset = f_vWorldOffset;
		if (this.m_camMain != null)
		{
			this.m_camMain.SetTargetPos(this.m_trMy.position + this.m_vWorldOffset, true);
		}
	}

	public void OnDisable()
	{
		UnityEngine.Object.Destroy(this);
	}

	private void Update()
	{
		if (this.m_camMain != null)
		{
			this.m_camMain.SetTargetPos(this.m_trMy.position + this.m_vWorldOffset, true);
		}
		if (this.m_bOnece && this.m_fTime <= (this.m_fNowTime += Time.deltaTime))
		{
			UnityEngine.Object.Destroy(this);
		}
	}

	private bool m_bOnece = true;

	private float m_fTime;

	private float m_fNowTime;

	private CameraMain m_camMain;

	private Transform m_trMy;

	private Vector3 m_vWorldOffset;
}
