示例#1
0
        public void startWatchCard()
        {
            if (m_outCard == null)
            {
                createCard();
            }
            else
            {
                m_outCard.setIdAndPnt(m_cardId, m_sceneDZData.m_placeHolderGo.m_centerGO);
            }

            UtilApi.setPos(m_outCard.transform(), m_sceneDZData.m_placeHolderGo.m_centerGO.transform.localPosition + new Vector3(-2.6f, 1, 1));
            m_outCard.show();
        }
示例#2
0
        // 开始卡牌倒计时
        public void onTimerEndHandle(TimerItemBase timer)
        {
            m_watchStage = WatchStage.eWatching;

            if (m_showCard == null)
            {
                createCard(m_watchCard.sceneCardItem, m_watchCard.m_sceneDZData);
            }
            else
            {
                m_showCard.setIdAndPnt(m_watchCard.sceneCardItem.svrCard.dwObjectID, m_watchCard.m_sceneDZData.m_placeHolderGo.m_centerGO);
            }

            m_sceneCardItem.copyFrom(m_watchCard.sceneCardItem);
            m_sceneCardItem.cardArea = CardArea.CARDCELLTYPE_HAND;      // 总是显示手牌
            m_showCard.sceneCardItem = m_sceneCardItem;

            UtilApi.setPos(m_showCard.transform(), m_watchCard.transform().localPosition + new Vector3(SceneDZCV.COMMON_CARD_WIDTH, SceneDZCV.DRAG_YDELTA, 0));
            m_showCard.show();
        }
示例#3
0
 protected void testAni()
 {
     UISceneDZ uiDZ = Ctx.m_instance.m_uiSceneMgr.getSceneUI<UISceneDZ>(UISceneFormID.eUISceneDZ);
     // 测试[随从卡]
     m_aniModel = Ctx.m_instance.m_sceneCardMgr.createCardById(230000, EnDZPlayer.ePlayerSelf, CardArea.CARDCELLTYPE_HAND, CardType.CARDTYPE_ATTEND, uiDZ.m_sceneDZData);
     m_aniModel.setStartIdx(2);
     UtilApi.setPos(m_aniModel.transform(), new UnityEngine.Vector3(-4, 0, 0));
     SceneCardItem sceneCardItem = null;
     sceneCardItem = new SceneCardItem();
     sceneCardItem.svrCard = new t_Card();
     sceneCardItem.svrCard.qwThisID = 0;
     sceneCardItem.svrCard.dwObjectID = 230000;
     sceneCardItem.m_cardTableItem = Ctx.m_instance.m_tableSys.getItem(TableID.TABLE_CARD, sceneCardItem.svrCard.dwObjectID).m_itemBody as TableCardItemBody;
     m_aniModel.sceneCardItem = sceneCardItem;
     m_aniModel.sceneCardBaseData.m_trackAniControl.faPai2MinAni();
 }
示例#4
0
        public void testLinkEffect()
        {
            UISceneDZ uiDZ = Ctx.m_instance.m_uiSceneMgr.getSceneUI<UISceneDZ>(UISceneFormID.eUISceneDZ);
            // 测试[随从卡]
            m_linkEffectModel = Ctx.m_instance.m_sceneCardMgr.createCardById(230000, EnDZPlayer.ePlayerSelf, CardArea.CARDCELLTYPE_HAND, CardType.CARDTYPE_ATTEND, uiDZ.m_sceneDZData);
            UtilApi.setPos(m_linkEffectModel.transform(), new UnityEngine.Vector3(-4, 0, 0));
            SceneCardItem sceneCardItem = null;
            sceneCardItem = new SceneCardItem();
            sceneCardItem.svrCard = new t_Card();
            sceneCardItem.svrCard.qwThisID = 0;
            sceneCardItem.svrCard.dwObjectID = 230000;
            sceneCardItem.m_cardTableItem = Ctx.m_instance.m_tableSys.getItem(TableID.TABLE_CARD, sceneCardItem.svrCard.dwObjectID).m_itemBody as TableCardItemBody;
            m_linkEffectModel.sceneCardItem = sceneCardItem;

            m_linkEffectModel.effectControl.addLinkEffect(4, true, true, true);
        }
示例#5
0
        // 执行技能攻击
        public void execAttack(SkillAttackItem item)
        {
            Ctx.m_instance.m_logSys.fightLog("[Fight] 开始执行技能攻击 execAttack");
            // 技能攻击开始,需要将技能准备特效移除
            if (m_card.m_sceneDZData.m_sceneDZAreaArr[(int)m_card.sceneCardItem.playerSide].centerHero.sceneCardItem.svrCard.qwThisID == item.attThisId)
            {
                m_card.m_sceneDZData.m_sceneDZAreaArr[(int)m_card.sceneCardItem.playerSide].centerHero.effectControl.stopSkillAttPrepareEffect();
            }

            if (item.skillTableItem.m_bNeedMove > 0)         // 如果是有攻击目标的技能攻击
            {
                if (item.skillTableItem != null)
                {
                    if (item.skillTableItem.m_skillAttackEffect != 0)
                    {
                        foreach (var thisId in item.hurtIdList.list)
                        {
                            if (thisId == m_card.sceneCardItem.svrCard.qwThisID)         // 如果攻击者还是被击者,就不播放攻击特效了
                            {
                                Ctx.m_instance.m_logSys.fightLog("[Fight] 攻击者 thisId 和被记者 thisId 相同,不播放攻击特效");
                            }
                            else
                            {
                                Ctx.m_instance.m_logSys.fightLog("[Fight] 技能攻击播放攻击特效");

                                SceneCardBase hurtCard = Ctx.m_instance.m_sceneCardMgr.getCardByThisId(thisId);
                                m_card.effectControl.addMoveEffect((int)item.skillTableItem.m_skillAttackEffect, m_card.transform().localPosition, hurtCard.transform().localPosition, item.skillTableItem.m_effectMoveTime);  // 攻击特效
                            }
                        }
                    }
                }
            }
            else    // 没有攻击目标的技能攻击
            {
                if (item.skillTableItem != null)
                {
                    if (item.skillTableItem.m_skillAttackEffect != 0)
                    {
                        Ctx.m_instance.m_logSys.fightLog("[Fight] 技能攻击播放场景特效");

                        Ctx.m_instance.m_sceneEffectMgr.addSceneEffect((int)item.skillTableItem.m_skillAttackEffect, m_card.m_sceneDZData.m_placeHolderGo.m_centerGO);      // 添加一个场景特效
                    }
                }
            }

            m_card.sceneCardBaseData.m_effectControl.updateAttHurtStateEffect(item);
        }