public void Init(CGame_Fishing game, splineMove move, uint index, byte typeId) { AssetBundle ab = game.FishingAssetBundle; m_Animator = GetComponent <Animator>(); m_Animator.speed = 0f; m_SplineMove = move; m_nOnlyId = index; m_nTypeId = typeId; m_Renderers = gameObject.GetComponentsInChildren <Renderer>(); foreach (Renderer child in m_Renderers) { child.enabled = false; } if (m_SplineMove != null) { if (m_SplineMove.loopType != splineMove.LoopType.loop) { m_SplineMove.tween.OnComplete(OnComplete); } m_SplineMove.tween.OnPlay(OnPlay); } else { OnPlay(); } m_LockSitList.Clear(); m_LockPointTfm = transform.parent.Find("Point_LockTarget"); FishingFishData fd = Fishing_Data.GetInstance().m_FishData[m_nTypeId]; if (fd.m_nHitAudio != 0) { m_HitSound = gameObject.AddComponent <AudioSource>(); m_HitSound.clip = ab.LoadAsset <AudioClip>(CustomAudioDataManager.GetInstance().GetSoundName(fd.m_nHitAudio)); } if (fd.m_nDeadAudio != 0) { m_DeadSound = gameObject.AddComponent <AudioSource>(); m_DeadSound.clip = ab.LoadAsset <AudioClip>(CustomAudioDataManager.GetInstance().GetSoundName(fd.m_nDeadAudio)); } if (fd.m_szTalk.Length > 0) { m_TalkObj = (GameObject)ab.LoadAsset("talk_Image_BG"); m_TalkObj = (GameObject)Instantiate(m_TalkObj); m_TalkObj.GetComponentInChildren <Text>().text = fd.m_szTalk; m_TalkObj.transform.SetParent(game.MainUITfm.Find("point_talk"), false); Invoke("ShowTalk", fd.m_nTalkInterval); Invoke("HideTalk", fd.m_nTalkInterval + fd.m_nTalkShowTime); UpdateTalk(); m_TalkObj.SetActive(false); } }
public Fishing_Role(CGame_Fishing game, byte index) { GameBase = game; m_nIndex = index; Transform tfm = GameBase.MainUITfm.Find("Middle/playerPoint_" + (index + 1)); m_SitUI = tfm.Find("Button_sit"); m_InfoUI = tfm.Find("playerinfo"); #if ScFish m_tgAutoFire = tfm.Find("Toggle_zidong").GetComponent <Toggle>(); m_tgAutoFire.isOn = false; m_tgAutoFire.onValueChanged.AddListener(UpdateAutoFire); m_tgChange = tfm.Find("Toggle_ThreePao").GetComponent <Toggle>(); m_tgChange.isOn = false; m_tgChange.onValueChanged.AddListener(UpdateSwitchCannon); #endif tfm = m_InfoUI.Find("Middle/ButtonBG_lv"); m_SitUI.GetComponent <Button>().onClick.AddListener(OnClickSit); m_LvAddBtn = tfm.Find("Button_add").GetComponent <Button>(); m_LvAddBtn.onClick.AddListener(() => OnClickLevel(1)); m_LvSubBtn = tfm.Find("Button_subtract").GetComponent <Button>(); m_LvSubBtn.onClick.AddListener(() => OnClickLevel(0)); GameObject obj = (GameObject)game.FishingAssetBundle.LoadAsset("Icon_LockTarget"); obj = GameMain.Instantiate(obj); LockUI = obj.transform; LockUI.SetParent(game.GameCanvas.transform.Find("Root"), false); obj.SetActive(false); obj = (GameObject)game.FishingAssetBundle.LoadAsset("Anime_7cai"); obj = GameMain.Instantiate(obj); obj.transform.SetParent(m_InfoUI.parent.Find("AnimePoint_7cai"), false); obj.SetActive(false); m_SpecailCoinText = obj.GetComponentInChildren <Text>(); }
IEnumerator PopCoin(Fishing_Fish fish, FishingFishData fd, bool bLocal, long getCoin, Vector3 center, Vector3 targetPos, byte getSkillId) { //DebugLog.Log("num:" + num + " center:" + center + " target:" + targetPos); if (getCoin <= 0) { yield break; } CGame_Fishing game = fish.m_CatchRole.GameBase; AssetBundle ab = game.FishingAssetBundle; Canvas cv = game.GameCanvas; Transform root = cv.transform.Find("Root"); GameObject prefab; GameObject big = null; if (fd.m_nMultiple >= 20) { prefab = (GameObject)ab.LoadAsset("FishCoin_big"); big = ((GameObject)GameMain.instantiate(prefab)); big.transform.SetParent(root, false); big.transform.localPosition = center; game.m_AddItems.Add(big); Camera.main.DOShakePosition(1f, 1f).OnComplete(() => { Camera.main.transform.position = game.CameraSourcePos; }); CustomAudioDataManager.GetInstance().PlayAudio(1004); } else { CustomAudioDataManager.GetInstance().PlayAudio(1003); } yield return(new WaitUntil(() => m_bDeathEnd)); Transform effectTfm = fish.transform.parent.Find("Effect"); if (effectTfm != null) { effectTfm.DOScale(Vector3.zero, 1f); } fish.transform.parent.DOScale(Vector3.zero, 1f); prefab = (GameObject)ab.LoadAsset(bLocal ? "Text_HurtNum" : "Text_HurtNum_other"); GameObject textObj = ((GameObject)GameMain.instantiate(prefab)); textObj.transform.SetParent(root.Find("HurtNum"), false); textObj.transform.localPosition = center; textObj.transform.localScale = Vector3.zero; textObj.transform.GetComponent <Text>().text = GameFunction.FormatCoinText(getCoin, true, false); game.m_AddItems.Add(textObj); textObj.transform.DOScale(new Vector3(1f, 1f, 1f), 0.5f).OnComplete(() => { textObj.transform.DOScale(new Vector3(1f, 1f, 1f), 0.5f).OnComplete(() => { game.m_AddItems.Remove(textObj); Destroy(textObj); }); }); bool bCoin = true; if (getSkillId > 0 && bLocal) { if (getSkillId == RoomInfo.NoSit)//lottery { prefab = (GameObject)ab.LoadAsset("Skill_Ticket"); bCoin = false; } else { prefab = (GameObject)ab.LoadAsset("Skill_" + getSkillId); } if (prefab != null) { GameObject skillObj = Instantiate(prefab); skillObj.transform.SetParent(root, false); skillObj.transform.localPosition = center; game.m_AddItems.Add(skillObj); skillObj.transform.DOLocalMove(center + new Vector3(0, 100f, 0f), 1f).OnComplete(() => { game.m_AddItems.Remove(skillObj); Destroy(skillObj); }); } } if (bCoin) { int num = Mathf.CeilToInt((float)fd.m_nMultiple / 5) + 2; float radius = (num - 1) * 10f; float halfPi = Mathf.PI * 0.5f; float angle; prefab = (GameObject)ab.LoadAsset("FishCoin"); GameObject coin; Vector3 pos; List <GameObject> coinList = new List <GameObject>(); for (int i = 0; i < num; i++) { angle = Random.Range(0f, halfPi) * 4f; coin = ((GameObject)GameMain.instantiate(prefab)); coin.transform.SetParent(root, false); coin.transform.localPosition = center; pos = center + new Vector3(Mathf.Sin(angle), Mathf.Cos(angle)) * Random.Range(0f, radius); coin.transform.DOLocalMove(pos, 0.5f); //DebugLog.Log(i + ": angle:" + angle + " pos:" + pos); coinList.Add(coin); game.m_AddItems.Add(coin); yield return(new WaitForEndOfFrame()); } yield return(new WaitForSecondsRealtime(1f)); CustomAudioDataManager.GetInstance().PlayAudio(1002); float flyTime = 0.5f; foreach (GameObject obj in coinList) { if (obj == null) { continue; } Vector3 dir = targetPos - obj.transform.localPosition; Vector3 speed = new Vector3(dir.x / flyTime, 0f); float a = dir.y * 2f / (flyTime * flyTime); DOTween.To(() => obj.transform.localPosition, r => { obj.transform.localPosition += (speed * Time.unscaledDeltaTime); speed.y = speed.y + a * Time.unscaledDeltaTime; }, targetPos, flyTime); } yield return(new WaitForSecondsRealtime(flyTime)); foreach (GameObject obj in coinList) { if (obj == null) { continue; } game.m_AddItems.Remove(obj); Destroy(obj); } } if (big != null) { game.m_AddItems.Remove(big); Destroy(big); } }
public Fishing_FishMgr(CGame_Fishing game) { m_GameBase = game; FishPause = false; m_WaypointMgr = GameObject.Find("Waypoint Manager").GetComponent <WaypointManager>(); }