/// <summary> /// 伤害后死亡返回false,否则true /// </summary> /// <param name="damage"></param> /// <param name="attackgo"></param> /// <param name="InterruptSkill">是否打断技能</param> /// <returns>伤害后死亡返回false,否则true</returns> public virtual bool ApplyDamage(SkillReleaseInfo Info, Transform attackgo) { if (m_isDead) { return(false); } HP += Info.m_Damage; if (HP >= fullHP) { HP = fullHP; } if ((Info.Result == AttackResult.Normal && Info.m_Damage != 0) || Info.Result == AttackResult.Miss || Info.Result == AttackResult.Crit || Info.Result == AttackResult.Fire) { ShowHp(HP, fullHP, Info.m_Damage, Info.Result); } if (HP <= 0) { if (attackgo != null) { Life target = attackgo.GetComponent <LifeObj>().GetLife(); if (m_Core.m_type == LifeMType.SOLDIER && target.m_Core.m_type == LifeMType.SOLDIER) { BattleKillLogWnd wnd = WndManager.GetDialog <BattleKillLogWnd>(); wnd.Show(target.m_SceneID, m_SceneID); } } Dead(); return(false); } return(true); }
public override void WndStart() { base.WndStart(); if (MyHead.BtnReturn) { MyHead.BtnReturn.OnClickEventHandler += BtnReturn_OnClickEventHandler; } if (MyHead.BtnNext) { MyHead.BtnNext.OnClickEventHandler += BtnNext_OnClickEventHandler; } MainCameraM.s_Instance.EnableDrag(false); m_IsSaving = false; PutCanvasM.CanOperate = true; //TouchMove.s_CanOperate = true; //TouchMoveManager.HideDeckCanvasUnit(); CangKuWnd wnd = WndManager.GetDialog <CangKuWnd>(); ShipPlan P = ShipPlanDC.GetCurShipPlan(); P.BackupPlan(); LoadShipDesign(); //LoadCanvasBox(); }
void JoinCombat() { MainCameraM.s_Instance.EnableDrag(true); WndManager.DestoryDialog <SelectSoldierwnd>(); CombatInfoWnd wndInfo = WndManager.GetDialog <CombatInfoWnd>(); if (wndInfo != null) { wndInfo.SetWndMode(CombatInfoMode.combat); } CombatWnd wnd = WndManager.GetDialog <CombatWnd>(); if (wnd != null) { wnd.InitSoldierUI(); } if (m_SelectedBlackScienceCaptainID != 0) //黑科技设置 { CmCarbon.AddGodSkill(true, m_SelectedBlackScienceCaptainID, ConfigM.GetInitMana()); GodSkillWnd gsw = WndManager.GetDialog <GodSkillWnd>(); if (gsw != null) { gsw.SetCurMana(CmCarbon.GetGodSkillMana(true)); gsw.SetRequireMana(CmCarbon.GetGodSkill(true).GetRequireMana()); } } CombatScheduler.SetCSState(CSState.Combat); }
public override void Start() { base.Start(); if (m_type == ResourceType.Wood) { SoundPlay.Play("battle_wood_pick", false, false); } else if (m_type == ResourceType.Gold) { SoundPlay.Play("gold", false, false); } //m_fShowEffectCounter = 0.4f; Vector3 pos = Vector3.zero; CombatInfoWnd Wnd = WndManager.FindDialog <CombatInfoWnd>(); if (Wnd != null) { pos = m_uicamera.WorldToViewportPoint(Wnd.GetResourcePos(m_type).position); } pos.z = 20;//Mathf.Abs(m_target.transform.position.z - m_gameCamera.transform.position.z) * 0.5f; pos = m_gameCamera.ViewportToWorldPoint(pos); m_end = m_gameCamera.transform.InverseTransformPoint(pos); m_target.transform.parent = m_gameCamera.transform; m_start = m_target.transform.localPosition; m_target.transform.localScale = Vector3.one; EffectCamera.RemoveFollowList(m_target.transform); }
/// <summary> /// 战前NPC对话 /// </summary> private void DoStartTalks(List <CounterPartDialogUnit> ltalk) { if (ltalk.Count == 0) { return; } MyHead.btnCombat.enabled = false; List <int> lNpcID = new List <int>(); List <string> lStrTalks = new List <string>(); List <NpcDirection> lWndDirs = new List <NpcDirection>(); foreach (CounterPartDialogUnit t in ltalk) { lNpcID.Add(t.npcid); lStrTalks.Add(t.talk); lWndDirs.Add((NpcDirection)t.position); } NpcTalksWnd wnd = WndManager.GetDialog <NpcTalksWnd>(); wnd.SetData(lNpcID, lStrTalks, lWndDirs); ViewStageScene scene = SceneM.GetCurIScene() as ViewStageScene; if (scene != null && scene.GoldTransform != null) { Transform tGoldRoom = scene.GoldTransform; LifeObj obj = tGoldRoom.GetComponent <LifeObj>(); if (obj != null) { Vector3 pos = obj.GetLife().GetLifeProp().HelpPoint.GetVauleByKey(BuildHelpPointName.guidePos).transform.position; wnd.SetWndStyle(2, pos); } } }
void ClickUp() { if (m_wnd) { WndManager.DestoryDialog <StageTipWnd>(); } }
public void FlyToUI() { m_fShowEffectCounter = 0.6f; Vector3 pos = Vector3.zero; CombatInfoWnd Wnd = WndManager.FindDialog <CombatInfoWnd>(); if (Wnd != null) { if (m_type == ResourceType.Gold) { pos = m_uicamera.WorldToViewportPoint(Wnd.GetResourcePos(m_type).position); } else if (m_type == ResourceType.Wood) { pos = m_uicamera.WorldToViewportPoint(Wnd.GetResourcePos(m_type).position); } } pos.z -= m_gameCamera.transform.position.z / 2; pos = m_gameCamera.ViewportToWorldPoint(pos); //str += "," + pos; pos = m_gameCamera.transform.InverseTransformPoint(pos); //pos.y -= 0.5f; transform.parent = m_gameCamera.transform; // Debug.Log(str); gameObject.transform.DOMove(pos, 1f); //Debug.DrawLine(transform.position,pos); }
void BtnGetSoulStone_OnClickEventHandler(UIButton sender) { sdata.s_itemtypeInfo itemInfo = ItemM.GetItemInfo(m_Info.fragmentTypeID);//当前灵魂石 ItemComeFromWnd wnd = WndManager.GetDialog <ItemComeFromWnd>(); wnd.SetData(itemInfo, null, m_Info, 4); }
public static void DestoryDialogCallBack(object g) { WndManager.DestoryDialog <BeiBaoWnd>(); WndManager.DestoryDialog <ItemInfoWnd>(); // WndManager.ShowAllWnds(true); MainCameraM.s_Instance.EnableDrag(true); }
/// <summary> /// 资源卸载 /// </summary> public override void Clear() { WndManager.DestroyAllWnd(); ResourceManger.ClearScenePools(); BattleM.Clear(); AntiRegisterHooks(); }
void Start() { tParentWnd = NormalWndCanvas.GetComponent <Transform>(); tParentMenu = MenuWndCanvas.GetComponent <Transform>(); tParentDialog = ModelDialogCanvas.GetComponent <Transform>(); WndManager.SetUINode(this); }
void BtnClose_OnClickEventHandler(UIButton sender) { WndManager.DestoryDialog <ClickSkillDescWnd>(); //关闭动画会有卡顿感觉,和UE沟通后改成直接关闭 //WndEffects.DoCloseWndEffect(gameObject,DestoryDialogCallBack); DestoryDialogCallBack(null); }
void BtnClose_OnClickEventHandler(UIButton sender) { WndManager.DestoryDialog <SoldierInfoWnd>(); WndManager.DestoryDialog <HeroIntroduceWnd>(); WndManager.DestoryDialog <AddSkillWnd>(); WndManager.DestoryDialog <SoldierScrollWnd>(); }
private void EquipComposeResponse(int nErrorCode) { if (nErrorCode == 0) { NGUIUtil.ShowTipWndByKey(30000036); RefreshEquipItems(); PdbycWnd wnd1 = WndManager.FindDialog <PdbycWnd>(); if (wnd1) { wnd1.RefreshEquipItems(); } EquipmentInfoWnd wnd2 = WndManager.FindDialog <EquipmentInfoWnd>(); if (wnd2) { wnd2.RefreshUI(); } WndManager.DestoryDialog <EquipComposeWnd>(); } EquipmentInfoWnd wnd = WndManager.FindDialog <EquipmentInfoWnd>(); if (wnd) { wnd.CheckEquipExist(); wnd.TweenReset(); } }
void Resweep(UIButton sender) { ItemTypeInfo sweepTicketInfo = ItemDC.GetSweepTickets(); if (sweepTicketInfo == null || sweepTicketInfo.Num < mSweepCount) { WndManager.DestoryDialog <StageWipeWnd>(); NGUIUtil.ShowFreeSizeTipWnd(NGUIUtil.GetStringByKey("70000229")); return; } CounterPartInfo info = StageDC.GetCounterPartInfo(); int playerPhysical = UserDC.GetPhysical(); // ÌåÁ¦²»×ã if (playerPhysical < info.win_physical * mSweepCount) { WndManager.DestoryDialog <StageWipeWnd>(); NGUIUtil.ShowFreeSizeTipWnd(NGUIUtil.GetStringByKey("99904008")); return; } StageDC.SendStageSweepRequest(StageDC.GetCompaignStageID(), mSweepCount); Clear(); //DataCenter.RegisterHooks((int)gate.Command.CMD.CMD_718, ShowSweepResult); }
void BtnOK_OnClickEventHandler(UIButton sender) { if (m_iWndType == 3) { PdbbbWnd wnd = WndManager.FindDialog <PdbbbWnd>(); if (wnd) { wnd.RefreshUI(); } } else if (m_iWndType == 5) { if (BtnOKClickHandler != null) { BtnOKClickHandler(); } WndManager.DestoryDialog <TrophiesActionWnd>(); return; } if (mItemInfos.Count == 0) { WndManager.DestoryDialog <TrophiesActionWnd>(); if (FinalEventClikHandler != null) { FinalEventClikHandler(null); } } else { ResetAni(); GetTropies(0, null); } }
public void BtnSelect_OnClickEventHandler(UIButton sender) { //NGUIUtil.DebugLog(string.Format("选取了 炮弹兵:"+Info.m_name)); //SoldierInfoWnd wnd = WndManager.FindDialog<SoldierInfoWnd>(); //if (wnd) //{ // if (m_info!=null) // { // wnd.SetData(m_info); // } //} SoldierScrollWnd scrollWnd = WndManager.FindDialog <SoldierScrollWnd>(); if (scrollWnd) { scrollWnd.DoSelectItem(transform); } else { SelectSoldierwnd selectWnd = WndManager.FindDialog <SelectSoldierwnd>(); if (selectWnd) { selectWnd.SelectSoldier(m_info.ID); } } }
/// <summary> /// 获取出屏幕外的修正值 /// </summary> /// <returns></returns> private Vector2 GetoffScreenOut(RectTransform targetRect) { Vector2 offset = Vector2.zero; Vector3 pos = (WndManager.GetUINode() as UINode).UICamera.WorldToScreenPoint(targetRect.position); Vector2 v = new Vector2(targetRect.sizeDelta.x * targetRect.pivot.x, targetRect.sizeDelta.y * targetRect.pivot.y); float l = pos.x - v.x; float r = pos.x + v.x; float u = pos.y + v.y; float d = pos.y - v.y; if (l < 10) { offset.x = 10 - l; } if (r > Screen.width - 10) { offset.x = Screen.width - 10 - r; } if (d < 10) { offset.y = 10 - d; } if (u > Screen.height - 10) { offset.y = Screen.height - 10 - u; } return(offset); }
void SetEffect() { if (m_type == ResourceType.Gold) { CombatInfoWnd Wnd = WndManager.FindDialog <CombatInfoWnd>(); if (Wnd != null) { Transform parent = Wnd.GetResourcePos(m_type); GameObjectActionExcute gae = EffectM.LoadEffect("effect/prefab/", "2000301", parent.position, parent); if (gae != null) { GameObjectActionDelayDestory ndEffect = new GameObjectActionDelayDestory(0.5f); gae.AddAction(ndEffect); } } } else if (m_type == ResourceType.Wood) { CombatInfoWnd Wnd = WndManager.FindDialog <CombatInfoWnd>(); if (Wnd != null) { Transform parent = Wnd.GetResourcePos(m_type); GameObjectActionExcute gae = EffectM.LoadEffect("effect/prefab/", "2000311", parent.position, parent); if (gae != null) { GameObjectActionDelayDestory ndEffect = new GameObjectActionDelayDestory(0.5f); gae.AddAction(ndEffect); } } } }
/// <summary> /// 显示敌我目标tips /// </summary> /// <param name="Info">目标数据</param> /// <param name="tipRect">弹出tips的控件对象</param> /// <param name="align">对其方式</param> /// <param name="isTouchDestroy">是否触碰销毁</param> /// <returns></returns> public static void ShowTargetTips(TargetHeroInfo Info, RectTransform tipRect, TipAlignment align, Vector2 offset, bool isTouchDestroy) { WndManager.DestoryWnd <TargetInfoWnd>(); WndManager.CreateWnd <TargetInfoWnd>(WndType.DialogWnd, false, false, (wnd) => { (wnd as TargetInfoWnd).SetData(new object[] { 0, Info, tipRect, align, offset, isTouchDestroy }); }); }
void BtnRebattle_OnClickEventHandler(UIButton sender) { Time.timeScale = 1f; WndManager.DestoryDialog <CombatSchedulerWnd>(); BSC.AntiAllRegisterHooks(); SceneM.Load(ViewStageScene.GetSceneName(), false, null, false); }
/// <summary> /// 显示剧情对话 /// </summary> /// <param name="dialogID">剧情id</param> /// <param name="TestMode">调试模式,给测试用的</param> /// <returns></returns> public static void ShowDialog(uint dialogID, bool TestMode = false) { WndManager.CreateWnd <AdventureDialogueWnd>(WndType.DialogWnd, false, false, (wnd) => { (wnd as AdventureDialogueWnd).SetData(dialogID); (wnd as AdventureDialogueWnd).TestMode = TestMode; }); }
public override void Finish() { base.Finish(); if (m_type == ResourceType.Gold) { //SoundPlay.Play("gold", false, false); CombatInfoWnd Wnd = WndManager.FindDialog <CombatInfoWnd>(); if (Wnd != null) { Wnd.SetCombatGold(m_count, true); Wnd.SetCombatGold(-m_count, false); } } else if (m_type == ResourceType.Wood) { //SoundPlay.Play("battle_wood_pick", false, false); CombatInfoWnd Wnd = WndManager.FindDialog <CombatInfoWnd>(); if (Wnd != null) { Wnd.SetCombatWood(m_count, true); Wnd.SetCombatWood(-m_count, false); } } else if (m_type == ResourceType.Box) { //SoundPlay.Play("battle_wood_pick", false, false); CombatInfoWnd Wnd = WndManager.FindDialog <CombatInfoWnd>(); if (Wnd != null) { Wnd.SetCombatItem(); } } GameObject.Destroy(m_target); }
/// <summary> /// 过渡窗口处理 /// </summary> /// <param name="waitTime">loading 过渡时间</param> /// <param name="callback">loading,回调参数中可以判断点击了那个按钮</param> /// <returns></returns> public static bool LoadingWnd(float waitTime, Action <ILoading> callback = null) { WndManager.CreateWnd <LoadingWnd>(WndType.NormalWnd, false, false, (wnd) => { (wnd as LoadingWnd).SetData(waitTime, callback); }); return(true); }
private void InitTrapRoomUI() { GoClickBuildBtns = NDLoad.LoadWndItem("ClickBuildBtns", WndManager.GetWndRoot().transform); if (GoClickBuildBtns) { m_v3GoClickBuildBtns = GoClickBuildBtns.transform.position; ClickBuildBtns btns = GoClickBuildBtns.GetComponent <ClickBuildBtns>(); if (btns) { //btns.BtnInfo.OnClickEventHandler += BtnInfo_OnClickEventHandler; btns.BtnReturnBag.OnClickEventHandler += BtnReutrnBag_OnClickEventHandler; //btns.BtnUpgrade.OnClickEventHandler += BtnUpgrade_OnClickEventHandler; //btns.BtnDeleteSoldier.OnClickEventHandler += BtnDeleteSoldier_OnClickEventHandler; btns.BtnSetTransGate.OnClickEventHandler += BtnSetTransGate_OnClickEventHandler; } GoClickBuildBtns.SetActive(false); } SetClickBuildBtns(false, false); if (m_Core.m_type == ShipBuildType.BuildRoom) { BuildProperty lifeobj = GetComponent <BuildProperty>(); if (lifeobj != null && lifeobj.GetModeType() == 1605) { SetClickBuildBtns(false, true); } } }
/// <summary> /// 显示中央讯息 /// </summary> /// <param name="msg">tip 内容</param> /// <param name="type">0:战斗外用,1:战斗内用的</param> /// <returns></returns> public static void ShowTipsMessage(string msg, int type) { WndManager.CreateWnd <MessageWnd>(WndType.DialogWnd, false, false, (wnd) => { (wnd as MessageWnd).SetType(type); (wnd as MessageWnd).SetData(msg); }); }
/// <summary> /// 开始出战 /// </summary> /// <param name="sender"></param> void StartCombat(UIButton sender) { if (m_SelectedSoldier.Count == 0) { NGUIUtil.ShowTipWndByKey(88800090); return; } //出战人员是否满员判定 (玩家所有兵都参战时不做提示) if (m_SelectedSoldier.Count < Mathf.Min(maxSelect, m_CrewList.Count) && m_SelectedSoldier.Count < m_iSoldiersCount) //&& m_iTotalSoldiersCount != m_BtnGoSelectedList.Count) { DialogWnd dialogWnd = WndManager.GetDialog <DialogWnd>(); if (dialogWnd) { dialogWnd.SetDialogLable(NGUIUtil.GetStringByKey(88800067), NGUIUtil.GetStringByKey(88800068), NGUIUtil.GetStringByKey(10000044)); dialogWnd.YESButtonOnClick = YESToCombat; } else { Debug.Log("dialogWnd fail"); } } else { GoCombat(); } }
void Start() { PlayWarning(); mBattleIncomingWnd = WndManager.GetDialog <BattleIncomingWnd>(); mBattleIncomingWnd.MonsterCount = CmCarbon.GetFireSoldierCount(); }
public void GoldCoinEffect(int num, int count) { for (int i = 0; i < num; i++) { Vector3 pos = MapGrid.GetMG(m_Attr.Pos).pos; //+new Vector3(Random.Range(1,m_Attr.Size*0.5f-2),-0.5f,1f); pos += new Vector3(0, 0.25f, 1.2f); pos = BattleEnvironmentM.Local2WorldPos(pos); int n = (int)count / num; if (i == 0) { n += count - num * ((int)count / num); } GameObjectActionExcute gae = EffectM.LoadEffect("effect/prefab/", "2000041", EffectCamera.GetEffectPos(pos), BattleEnvironmentM.GetLifeMBornNode(true)); //EffectCamera.AddFollowList(gae.transform,pos); if (gae != null) { GameObjectActionResourceDrop gaw = new GameObjectActionResourceDrop(2f, pos, pos + new Vector3(Random.Range(-1.5f, 1.5f), 0, 0)); gae.AddAction(gaw); GameObjectActionResourceFlyToUI gar = new GameObjectActionResourceFlyToUI(); gar.SetData(EffectCamera.camera, WndManager.GetNGUICamera(), n, ResourceType.Gold); gae.AddAction(gar); GameObject coin = U3DUtil.FindChild(gae.gameObject, "coin"); if (coin != null) { coin.GetComponent <ParticleSystem>().startDelay = Random.Range(1f, 1.5f); } } } }
public bool ShowCaptionUpWnd() { CombatScene combat = SceneM.GetCurIScene() as CombatScene; if (combat != null) { UserInfo old = combat.m_oldUserInfo; if (old.Level < UserDC.GetLevel()) { CaptionUpgradeWnd cuw = WndManager.GetDialog <CaptionUpgradeWnd>(); int oldMaxPhysical = UserM.GetMaxPhysical(old.Level); int newMaxPhysical = UserM.GetMaxPhysical(UserDC.GetLevel()); int oldMaxherolevel = UserM.GetUserMaxHeroLevel(old.Level); int newMaxherolevel = UserM.GetUserMaxHeroLevel(UserDC.GetLevel()); cuw.SetData(old.Level, UserDC.GetLevel(), StageDC.GetStageResult().win ? old.Physical - StageDC.GetCounterPartInfo().win_physical : old.Physical - StageDC.GetCounterPartInfo().lose_physical, UserDC.GetPhysical(), oldMaxPhysical, newMaxPhysical, oldMaxherolevel, newMaxherolevel); cuw.MyHead.BtnBg.OnClickEventHandler += BackMainScence; cuw.MyHead.BtnClose.OnClickEventHandler += BackMainScence; return(true); } } return(false); }