Exemple #1
0
    /// <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);
    }
Exemple #2
0
    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();
    }
Exemple #3
0
    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);
    }
Exemple #5
0
    /// <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);
            }
        }
    }
Exemple #6
0
 void ClickUp()
 {
     if (m_wnd)
     {
         WndManager.DestoryDialog <StageTipWnd>();
     }
 }
Exemple #7
0
    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);
    }
Exemple #8
0
    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);
    }
Exemple #9
0
 public static void DestoryDialogCallBack(object g)
 {
     WndManager.DestoryDialog <BeiBaoWnd>();
     WndManager.DestoryDialog <ItemInfoWnd>();
     //		WndManager.ShowAllWnds(true);
     MainCameraM.s_Instance.EnableDrag(true);
 }
Exemple #10
0
 /// <summary>
 /// 资源卸载
 /// </summary>
 public override void Clear()
 {
     WndManager.DestroyAllWnd();
     ResourceManger.ClearScenePools();
     BattleM.Clear();
     AntiRegisterHooks();
 }
Exemple #11
0
 void Start()
 {
     tParentWnd    = NormalWndCanvas.GetComponent <Transform>();
     tParentMenu   = MenuWndCanvas.GetComponent <Transform>();
     tParentDialog = ModelDialogCanvas.GetComponent <Transform>();
     WndManager.SetUINode(this);
 }
Exemple #12
0
 void BtnClose_OnClickEventHandler(UIButton sender)
 {
     WndManager.DestoryDialog <ClickSkillDescWnd>();
     //关闭动画会有卡顿感觉,和UE沟通后改成直接关闭
     //WndEffects.DoCloseWndEffect(gameObject,DestoryDialogCallBack);
     DestoryDialogCallBack(null);
 }
Exemple #13
0
 void BtnClose_OnClickEventHandler(UIButton sender)
 {
     WndManager.DestoryDialog <SoldierInfoWnd>();
     WndManager.DestoryDialog <HeroIntroduceWnd>();
     WndManager.DestoryDialog <AddSkillWnd>();
     WndManager.DestoryDialog <SoldierScrollWnd>();
 }
Exemple #14
0
    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();
        }
    }
Exemple #15
0
    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);
        }
    }
Exemple #17
0
    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);
            }
        }
    }
Exemple #18
0
    /// <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);
    }
Exemple #19
0
 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);
             }
         }
     }
 }
Exemple #20
0
 /// <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);
 }
Exemple #22
0
 /// <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;
     });
 }
Exemple #23
0
 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);
 }
Exemple #24
0
 /// <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);
 }
Exemple #25
0
 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);
         }
     }
 }
Exemple #26
0
 /// <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);
     });
 }
Exemple #27
0
    /// <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();
        }
    }
Exemple #28
0
    void Start()
    {
        PlayWarning();

        mBattleIncomingWnd = WndManager.GetDialog <BattleIncomingWnd>();
        mBattleIncomingWnd.MonsterCount = CmCarbon.GetFireSoldierCount();
    }
Exemple #29
0
 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);
             }
         }
     }
 }
Exemple #30
0
    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);
    }