void CreateBearWith(int id, Transform t) { WGBearParam bp = dataCtrl.GetBearParam(id); // return; if (bp != null) { _curBearNum++; //int a = 5001; GameObject bearobj = _ShareObjManager.BCGameObjFactory(id, t.position, t.rotation.eulerAngles, _BearScale); bearobj.transform.parent = t.transform; bearobj.transform.localPosition = Vector3.zero; GameObject hp = Instantiate(HP, t.transform.position, t.transform.rotation) as GameObject; WGBear bear = bearobj.GetComponent <WGBear>(); bear.ID = id; bear.Blood = bp.hp; hp.transform.parent = bearobj.transform; hp.transform.localPosition = new Vector3(0, -0.5f, 3.5f); hp.transform.localEulerAngles = new Vector3(0, -180, 0); bear.AddHP(hp); szLiveBearID.Add(id); if (id == WGDefine.BossID) { _bearBoss = bear; } } }
public void ShowMonsterWithID(int id, bool isGray = false) { if (goBear != null) { goBear.SetActive(false); dicCacheBears.Add(mCurBearID, goBear); } GameObject go = null; if (dicCacheBears.TryGetValue(id, out go)) { go.SetActive(true); dicCacheBears.Remove(id); } else { BCObj mObj = WGDataController.Instance.GetBCObj(id); go = Instantiate(mObj.goRes) as GameObject; go.transform.parent = goBearParent.transform; go.transform.localPosition = Vector3.zero; go.transform.localEulerAngles = Vector3.zero; go.transform.localScale = Vector3.one; if (mObj.ID == WGDefine.BossID) { go.transform.localScale = Vector3.one * 0.6832443f; } else if (mObj.ID == WGDefine.PayBear1 || mObj.ID == WGDefine.PayBear2) { go.transform.localScale = Vector3.one * 0.8f; } else { go.transform.localScale = Vector3.one; } go.transform.localEulerAngles = Vector3.zero; } WGBear bear = go.GetComponent <WGBear>(); if (bear != null) { bear.IsGray(isGray); } goBear = go; mCurBearID = id; }
/// <summary> /// boss 是否消失成功, /// </summary> /// <returns><c>true</c>, if disappear was bossed, <c>false</c> otherwise.</returns> public bool BossDisappear() { if (szLiveBearID.Contains(WGDefine.BossID) && _bearBoss != null) { szLiveBearID.Remove(WGDefine.BossID); _bearBoss.Disappear(); BearDead(_bearBoss.transform.parent); _bearBoss = null; return(true); } return(false); }
public void WhenBearKilled(int id, Transform tran, bool bMiao = false) { BCSoundPlayer.Play(MusicEnum.hitBear); WGAchievementManager.Self.processAchievement(id, DTAchievementType.KILL_ALL); WGAchievementManager.Self.processAchievement(id, DTAchievementType.KILL_ONE); WGBearParam mBear = dataCtrl.GetBearParam(id); BCObj mOjb = dataCtrl.GetBCObj(id); _ShareWorld.PlayGetExp(mOjb.Exp); if (WGHelpManager.Self != null) { if (WGHelpManager.Self.enabled) { if (!WGHelpManager.Self.StatesIsEnd(EMHelpStates.Kill_Energy)) { WGHelpManager.Self.ShowHelpView(EMHelpStates.Kill_Energy); } else if (!WGHelpManager.Self.StatesIsEnd(EMHelpStates.Kill_Tiger) && mBear.tiger == 1) { WGHelpManager.Self.ShowHelpView(EMHelpStates.Kill_Tiger); } else if (!WGHelpManager.Self.StatesIsEnd(EMHelpStates.Use_Item)) { WGHelpManager.Self.ShowHelpView(EMHelpStates.Use_Item); } else if (!WGHelpManager.Self.StatesIsEnd(EMHelpStates.RegetCoin)) { WGHelpManager.Self.ShowHelpView(EMHelpStates.RegetCoin); } } } BearDead(tran.parent); szLiveBearID.Remove(id); _curBearNum--; if (id == WGDefine.BossID) { _bearBoss = null; } if (!bHaiXiaoEffect) { _dataPlayer.mEnergy += mBear.energy; } if (_dataPlayer.mEnergy >= _EnergyFull) { if (!_bShowPowerTip) { if (_dataPlayer.a1 == 0) { if (YeHuoSDK.bShowPoweGift) { _bShowPowerTip = true; D04PowerTipView tip = D04PowerTipView.CreatePowerPayView(); Time.timeScale = 0; tip.alertViewBehavriour = (ab, view) => { if (ab == MDAlertBehaviour.CLICK_OK) { Destroy(view.gameObject); showBuyPowerView(); } }; } else { _dataPlayer.mEnergy -= _EnergyFull; bHaiXiaoEffect = true; //DonNotNeedCoin(10+2); // WGTsunamiView tv = WGTsunamiView.CreateTsunamiView(); // tv.alertViewBehavriour =(ab,view)=>{ // switch(ab) // { // case MDAlertBehaviour.DID_HIDDEN: // Destroy(view.gameObject); // break; // } // }; // SDK.AddChild(tv.gameObject,_ShareWorld.go2DUIBottom); // tv.showTsunamiView(10f); csThrow.showTsunamiEffect(true); pgHaiXiao.value = 1; pgHaiXiaoValue = 1; InvokeRepeating("HaiXiaoEffect", 2f, 10f / 100); } } else if (_dataPlayer.a1 == 1) { _dataPlayer.mEnergy -= _EnergyFull; bHaiXiaoEffect = true; DonNotNeedCoin(10 + 2); WGTsunamiView tv = WGTsunamiView.CreateTsunamiView(); tv.alertViewBehavriour = (ab, view) => { switch (ab) { case MDAlertBehaviour.DID_HIDDEN: Destroy(view.gameObject); break; } }; SDK.AddChild(tv.gameObject, _ShareWorld.go2DUIBottom); tv.showTsunamiView(10f); csThrow.showTsunamiEffect(true); pgHaiXiao.value = 1; pgHaiXiaoValue = 1; InvokeRepeating("HaiXiaoEffect", 2f, 10f / 100); } } } if (!bHaiXiaoEffect) { pgHaiXiao.value = _dataPlayer.mEnergy * 1.0f / _EnergyFull; } // //WG.SLog("WhenBearKilled======="+SDK.Serialize(mBear.death_reward)); for (int i = 0, max = mBear.death_reward.Count; i < max; i++) { _ShareWorld.AddReward(mBear.death_reward[i]); } if (bMiao && mBear.additional != null && mBear.additional.Count > 0) { for (int i = 0, max = mBear.additional.Count; i < max; i++) { _ShareWorld.AddReward(mBear.additional[i]); } } if (mBear.tiger == 1) { WGGameTiger.Instance.StartTiger(); } }