using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BulletCtrl : MonoBehaviour
{
///
/// 运动刚体组件
///
Rigidbody rigidbody;
Collision collision1;
SphereCollider bulletColl;
public int speed;
private Vector3 vector3;
private GameObject ef_baodian;
private GameObject ef_kuosan;
void Awake()
{
rigidbody = gameObject.AddComponent();
rigidbody.useGravity = false;
bulletColl = GetComponent();
ef_baodian = transform.Find("EF_baodian").gameObject;
ef_kuosan = transform.Find("EF_kuosanquan").gameObject;
ef_kuosan.SetActive(false);
ef_baodian.SetActive(false);
}
public void PlayShoot(GameObject go)
{
rigidbody.useGravity = GameInstantiateData.Instance.bullet_useGravity;
rigidbody.mass = GameInstantiateData.Instance.bullet_Mass;
speed = GameInstantiateData.Instance.bullet_Force;
bulletColl.material.bounciness = GameInstantiateData.Instance.bullet_Bounciness;
//碰撞检测方式
//rigidbody.collisionDetectionMode = CollisionDetectionMode.ContinuousSpeculative;
rigidbody.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;
vector3 = go.transform.up;
rigidbody.AddForce(vector3 * speed);
ef_kuosan.SetActive(false);
}
void OnCollisionEnter(Collision collision)
{
if (collision1 == null)
{
collision1 = collision;
//碰到气球
if (collision1.gameObject.tag.CompareTo("balloon")== 0)
{
ef_baodian.SetActive(true);
GameMgr.instance.HitTarget(collision.gameObject.GetInstanceID());
}
}
rigidbody.useGravity = true;
}
private void OnCollisionExit(Collision collision)
{
// Debug.Log("退出" + collision.gameObject.name);
collision1 = null;
}
}