Esempio n. 1
0
 public static FightUIData getInstance()
 {
     if (instance == null)
     {
         instance = new FightUIData();
     }
     return(instance);
 }
Esempio n. 2
0
 public static FightUIData getInstance()
 {
     if (instance == null)
     {
         instance = new FightUIData();
     }
     return instance;
 }
Esempio n. 3
0
    void Start()
    {
        //初始化出牌权
        FightController.getInstance().RightToPlay = FightController.RIGHTTOPLAY.MINE;

        float doSizeH = AdaptationResolutionMG.getInstance().getDoSizeHeight();

        float   bg_topHeight         = bg_top.transform.GetComponent <RectTransform>().sizeDelta.y *doSizeH;
        float   bg_bottomHeight      = bg_bottom.transform.GetComponent <RectTransform>().sizeDelta.y *doSizeH;
        Vector2 oldMiddPanelShowSize = middPanelShow.transform.GetComponent <RectTransform>().sizeDelta *doSizeH;

        FightUIData.getInstance().setFightUIHeight(bg_topHeight, bg_bottomHeight);

        middPanelShow.transform.GetComponent <RectTransform>().sizeDelta = new Vector2(Screen.width, oldMiddPanelShowSize.y);

        middPanel.transform.GetComponent <RectTransform>().sizeDelta = new Vector2(Screen.width, oldMiddPanelShowSize.y);
        mainPanel.transform.GetComponent <RectTransform>().sizeDelta = new Vector2(Screen.width, Screen.height);
        bg_top.transform.GetComponent <RectTransform>().sizeDelta    = new Vector2(Screen.width, bg_topHeight);

        GameObject bg_name = bg_top.transform.FindChild("bg_name").gameObject;

        doSizeUI(bg_name, doSizeH);


        GameObject icon_hp = bg_top.transform.FindChild("icon_hp").gameObject;

        doSizeUI(icon_hp, doSizeH);

        bg_bottom.transform.GetComponent <RectTransform>().sizeDelta = new Vector2(Screen.width, bg_bottomHeight);
        icon_hp = bg_bottom.transform.FindChild("icon_hp").gameObject;
        doSizeUI(icon_hp, doSizeH);

        //初始化战斗按钮相关
        GameObject Buttons = bg_bottom.transform.FindChild("Buttons").gameObject;

        doSizeUI(Buttons, doSizeH);
        GameObject ButtonNoOut = Buttons.transform.FindChild("ButtonNoOut").gameObject;
        GameObject ButtonTip   = Buttons.transform.FindChild("ButtonTip").gameObject;
        GameObject ButtonAtk   = Buttons.transform.FindChild("ButtonAtk").gameObject;

        EventListener.Get(ButtonNoOut).onClick = BtnCallBack;
        EventListener.Get(ButtonTip).onClick   = BtnCallBack;
        EventListener.Get(ButtonAtk).onClick   = BtnCallBack;


        FightUIData.getInstance().EnemyVec3 = enemyPanel.transform.GetComponent <RectTransform>().position;
        FightUIData.getInstance().MineVec3  = minePanel.transform.GetComponent <RectTransform>().position;

        _mainPanel = mainPanel;
    }
Esempio n. 4
0
    void OnTriggerEnter(Collider coll)
    {
        if (coll.gameObject.name == "myPanel")
        {
            CardEnemy enemyCard = this.gameObject.GetComponent <CardEnemy>();

            //爆炸效果
            GameObject par = Instantiate(Resources.Load("Prefab/ColliderParticle") as GameObject);
            par.transform.parent        = this.transform.parent;
            par.transform.localPosition = FightUIData.getInstance().MineVec3;

            //掉血效果
            GameObject HpObj = Instantiate(Resources.Load("Prefab/Fight/dropBlood") as GameObject);
            Text       Hp    = HpObj.transform.GetComponent <Text>();
            Debug.Log(Hp);
            Hp.transform.parent        = this.transform.parent;
            Hp.transform.localPosition = FightUIData.getInstance().MineVec3;             // - new Vector3(0,100,0);
            Hp.text = "-" + enemyCard.cardData.getNumber();



            Sequence sq = DOTween.Sequence();
            sq.SetRelative();
            Tweener tw = HpObj.transform.DOLocalMoveY(Screen.height * 0.1f, 0.5f).SetEase(Ease.OutExpo).SetRelative();
            tw.OnComplete(delegate()
            {
                DestroyObject(HpObj);
            });

            sq.Join(tw);
            sq.Join(HpObj.transform.DOScale(new Vector3(1.5f, 1.5f, 1.5f), 0.5f));



            touchEve(enemyCard);
            atk();
        }
        else
        {
            CardEnemy enemyCard = this.gameObject.GetComponent <CardEnemy>();
            enemyCard.correctRotate();
        }
    }
Esempio n. 5
0
    void Start()
    {
        clearnDictionary();
        _enemyCardNumsObj = enemyCardNumsObj;
        _hpObj            = hpObj;
        EnemyFightController.getInstance().initEnemyFightData();

        _enemyCardNumsObj.text = EnemyFightData.getInstance().cardsNumber().ToString();
        _hpObj.text            = EnemyFightData.getInstance().getHp().ToString();
        parentGame             = this.gameObject;
        //初始化摆位

        //卡牌父节点尺寸
        Vector2 vec2 = this.gameObject.transform.GetComponent <RectTransform>().sizeDelta;

        //卡牌节点尺寸
        float itemWidth = 0.0f;

        float itemHeight = 0.0f;

        //卡牌间的距离间距
        float space = 20.0f;

        //卡牌加间隙占的总宽度
        float allCardWidth = 0.0f;

        //第一张卡牌的坐标位置
        float fristX = 0.0f;

        doSize = 1.0f;

        float middPanelHeight = FightUIData.getInstance().getMiddHeight();

        //初始化首发卡牌对象
        Dictionary <int, CardData> cardDataDic = EnemyFightController.getInstance().getFristCards();

        for (int i = 1; i <= cardDataDic.Count; i++)
        {
            CardEnemy card = CardEnemy.create(cardDataDic[i]);
            card.setParent(this.gameObject);

            if (1 == i)
            {
                itemWidth  = card.getSize().x;
                itemHeight = card.getSize().y;
                if (AdaptationResolutionMG.getInstance().getDeviceSizeType() == DEVICE_SIZE_TYPE.Leng)
                {
                    doSize = AdaptationResolutionMG.getInstance().getRawWidth() / (float)Screen.width;
                }
                else if (AdaptationResolutionMG.getInstance().getDeviceSizeType() == DEVICE_SIZE_TYPE.Compare)
                {
                    doSize = AdaptationResolutionMG.getInstance().getDoSizeWidth();
                }
                else
                {
                    doSize = Screen.width / (float)(itemWidth * Const.FRIST_CARD_NUM + space * (Const.FRIST_CARD_NUM - 1));
                }

                allCardWidth = (itemWidth * Const.FRIST_CARD_NUM) + (Const.FRIST_CARD_NUM - 1) * space;
                allCardWidth = allCardWidth * doSize;
                //表示已经超出屏幕 在现有的基础上再一次缩放
                if (Screen.width < allCardWidth)
                {
                    doSize = doSize * Screen.width / allCardWidth;
                }
                itemWidth  = itemWidth * doSize;
                itemHeight = itemHeight * doSize;
                space      = space * doSize;

                allCardWidth = (itemWidth * Const.FRIST_CARD_NUM) + (Const.FRIST_CARD_NUM - 1) * space;

                fristX = (Screen.width - allCardWidth) * 0.5f - Screen.width * 0.5f + itemWidth * 0.5f;
            }

            card.setScale(doSize * enemyCardScale);

            int key = cardDataDic[i].Pos;

            viewPosList.Add(key, new Vector2(fristX + (i - 1) * (itemWidth + space), -middPanelHeight * 0.5f + itemHeight * 1.3f));

            viewCardDic.Add(key, card);

            card.setPosition(viewPosList[i]);
        }
    }
Esempio n. 6
0
    public void  randAtk()
    {
        int posRand = Random.Range(1, 6);

        viewCardDic[posRand].getObj().transform.SetAsLastSibling();
        Sequence sq = DOTween.Sequence();

        sq.SetUpdate(true);
        Tweener tw = viewCardDic[posRand].getObj().GetComponent <RectTransform>().DOLocalRotate(new Vector3(0, 90, 0), 0.1f).SetRelative();

        tw.OnComplete(delegate()
        {
            viewCardDic[posRand].setVisibleMaskImg(false);
        });
        sq.Append(tw);
        sq.Append(viewCardDic[posRand].getObj().GetComponent <RectTransform>().DOLocalRotate(new Vector3(0, -90, 0), 0.4f).SetRelative());
        sq.Append(viewCardDic[posRand].getObj().GetComponent <RectTransform>().DOLocalMove(FightUIData.getInstance().MineVec3 + new Vector3(0, -50, 0), 0.2f).SetEase(Ease.InBack));
    }
Esempio n. 7
0
    //处理战斗view的事件
    public IEnumerator FightViewTouchFn(Const.FIGHT_BTN_TYPE state)
    {
        //场上必须得有卡牌才能响应
        if (MineFightData.getInstance().usingCardsNumber() > 0 && FightController.getInstance().RightToPlay == FightController.RIGHTTOPLAY.MINE)
        {
            if (Const.FIGHT_BTN_TYPE.NO_OUT == state)
            {
                noOut();
                FightController.getInstance().RightToPlay = FightController.RIGHTTOPLAY.ENEMY;
            }
            else if (Const.FIGHT_BTN_TYPE.TIP == state)
            {
                noOut();
                if (currOutCardRule.Count == 0)
                {
                    currOutCardRule = getItemOutCardRule();
                }
                if (currOutCardRule.Count > 0)
                {
                    List <int> l = new List <int>();
                    l = currOutCardRule[0];
                    currOutCardRule.RemoveAt(0);
                    foreach (var pos in l)
                    {
                        cardToWaitPos(pos);
                    }
                }
            }
            //出击
            else if (Const.FIGHT_BTN_TYPE.ATK == state)
            {
                //此时是否有卡片可以出
                bool isHaveCardCanOut = false;
                for (int i = 1; i <= Const.FRIST_CARD_NUM; ++i)
                {
                    if (viewCardDic.ContainsKey(i) && viewCardDic[i].getCardState() == Card.CardState.waitFight)
                    {
                        isHaveCardCanOut = true;
                        FightController.getInstance().RightToPlay = FightController.RIGHTTOPLAY.MINEING;

                        viewCardDic[i].getObj().transform.SetAsLastSibling();
                        viewCardDic [i].getObj().GetComponent <RectTransform> ().DOLocalMove(FightUIData.getInstance().EnemyVec3 + new Vector3(0, Screen.height * 0.2f, 0), 0.1f)
                        .SetEase(Ease.InBack).SetUpdate(true);
                        yield return(new WaitForSeconds(0.3f));
                    }
                }
                if (isHaveCardCanOut)
                {
                    yield return(new WaitForSeconds(0.6f));

                    FightController.getInstance().RightToPlay = FightController.RIGHTTOPLAY.ENEMY;
                }
                else
                {
                    MsgPrompts.create("请选择至少一张卡牌", Color.red);
                }
            }
        }
    }