public void ProcessLightingFish(GameObject go1, GameObject go2) { Object obj = ResManager.Instance.LoadObject("Ef_thunderFishMain", "SceneRes/Prefab/Effect/ThunderFish/", ResType.SceneRes); Object obj2 = ResManager.Instance.LoadObject("Ef_thunderFishLight", "SceneRes/Prefab/Effect/ThunderFish/", ResType.SceneRes); Vector3 p1 = Camera.main.WorldToScreenPoint(go1.transform.position); Vector3 p2 = Camera.main.WorldToScreenPoint(go2.transform.position); p1.z = 0; p2.z = 0; Vector3 pv1 = ScreenToCenterPoint(p1); Vector3 pv2 = ScreenToCenterPoint(p2); Vector3 dir = (pv2 - pv1); float dist = dir.magnitude; dir /= dist; float dot = Vector3.Dot(Vector3.right, dir); float angle = Mathf.Acos(Mathf.Clamp(dot, -1.0f, 1.0f)) * Mathf.Rad2Deg; if (dir.y < 0) { angle = -angle; } GameObject gov1 = (GameObject)GameObject.Instantiate(obj); GameObject gov2 = (GameObject)GameObject.Instantiate(obj2); GameObject gov3 = (GameObject)GameObject.Instantiate(obj2); GlobalEffectData efc = new GlobalEffectData(gov1, 0, 2.0f); GlobalEffectMgr.Instance.AddEffect(efc); efc = new GlobalEffectData(gov2, 0, 2.0f); GlobalEffectMgr.Instance.AddEffect(efc); efc = new GlobalEffectData(gov3, 0, 2.0f); GlobalEffectMgr.Instance.AddEffect(efc); gov1.transform.SetParent(SceneObjMgr.Instance.UIPanelTransform, false); gov2.transform.SetParent(SceneObjMgr.Instance.UIPanelTransform, false); gov3.transform.SetParent(SceneObjMgr.Instance.UIPanelTransform, false); Vector3 ss = gov1.transform.localScale; ss.x = dist; gov2.transform.localPosition = pv1; gov3.transform.localPosition = pv2; gov1.transform.localPosition = pv1; gov1.transform.localScale = ss; gov1.transform.localRotation = Quaternion.AngleAxis(angle, Vector3.forward); FishOptAction fod = new FishOptAction(FishClipType.CLIP_SIWANG, 1.0f); }
public bool Finish(Fish fish) { if (DeadType == FishDeadType.DEAD_ACTION) { if (OptType == FishOptType.FOT_ACTION) { LogMgr.Log("Action不能再使用死亡动作"); return(true); } fish.OrgSpeed = 0.0f; FishOptAction foa = new FishOptAction(FishClipType.CLIP_SIWANG, 1.0f, false); foa.DeadType = FishDeadType.DEAD_IMMEDIATE; foa.CatchData = CatchData; fish.AddOpt(foa); if (m_CatchData != null) { ++m_CatchData.DeadNum; SceneRuntime.EffectMgr.FishCatched(fish, m_CatchData); } return(true); } else if (DeadType == FishDeadType.DEAD_IMMEDIATE) { //调用接口 if (OptType != FishOptType.FOT_ACTION && m_CatchData != null) { ++m_CatchData.DeadNum; SceneRuntime.EffectMgr.FishCatched(fish, m_CatchData); } return(false); } else { return(true); } }