Exemplo n.º 1
0
    public void OnEventUpdateBossHeadUI(BattleHeadUILogic.HeadUIParam param)
    {
        float value = (float)param.min / (float)param.max;

        if (value > 0.67f)
        {
            view.slider_BossHPBar1.value = (value - 0.67f) / 0.33f;
        }
        else if (value > 0.34f)
        {
            view.slider_BossHPBar1.value = 0.0f;
            view.slider_BossHPBar2.value = (value - 0.33f) / 0.33f;
            view.image_BossHPNum2.gameObject.SetActive(true);
            view.image_BossHPNum3.gameObject.SetActive(false);
        }
        else if (value > 0.0f)
        {
            view.slider_BossHPBar1.value = 0.0f;
            view.slider_BossHPBar2.value = 0.0f;
            view.slider_BossHPBar3.value = value / 0.33f;
            view.image_BossHPNum1.gameObject.SetActive(true);
            view.image_BossHPNum2.gameObject.SetActive(false);
            view.image_BossHPNum3.gameObject.SetActive(false);
        }
    }
Exemplo n.º 2
0
    public void OnEventAppendRescueHintUI(BattleHeadUILogic.HeadUIParam param, int cardID)
    {
        HeadUI headUI = new HeadUI();

        headUI.showTime = 0;
        if (Main.SettingManager.GameLanguage == 0)
        {
            headUI.uiGo = GameObject.Instantiate(view.panel_RescueHint.gameObject) as GameObject;
        }
        else
        {
            headUI.uiGo = GameObject.Instantiate(view.panel_RescueHint_En.gameObject) as GameObject;
        }
        headUI.uiGo.transform.SetParent(view.ui_Parent.transform);
        headUI.uiGo.gameObject.SetActive(true);
        Vector2 pos;

        headUI.image = headUI.uiGo.GetComponent <Image>();
        Canvas canvas = headUI.image.canvas;

        pos = Camera.main.WorldToScreenPoint(param.goHead.transform.position);
        if (RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform, pos, null, out pos))
        {
            headUI.rt = headUI.uiGo.GetComponent <RectTransform>();
            headUI.rt.anchoredPosition = pos;
        }
        //headUI.rt.anchoredPosition = view.rescuePosList[cardID - 1].rectTransform.anchoredPosition;
        hintUIDict.Add(param.id, headUI);
    }
Exemplo n.º 3
0
 protected void OnUpdateRescueHintUI()
 {
     if ((MonsterType)dataPO.MonsterType == MonsterType.NPC && dataPO.DisplayBar == 1 && !IsSafety())
     {
         BattleHeadUILogic.HeadUIParam param = BattleHeadUILogic.HeadUIParam.New();
         param.goHead = goHead;
         param.id     = id;
         param.type   = (Monster.MonsterType)dataPO.MonsterType;
         param.damage = 0;
         EventDispatcher.TriggerEvent(GameEventDef.EVNET_UPDATE_RESCUE_HINT_UI, param, CarId);
     }
 }
Exemplo n.º 4
0
 public void OnEventUpdateHeadUI(BattleHeadUILogic.HeadUIParam param)
 {
     if (param.type != Monster.MonsterType.Boss)
     {
         OnEventUpdateMonsterHeadUI(param);
     }
     else
     {
         OnEventUpdateBossHeadUI(param);
     }
     HeadUIParam.Store(param);
 }
Exemplo n.º 5
0
    public void OnEventAppendBossHeadUI(BattleHeadUILogic.HeadUIParam param)
    {
        view.panel_BossHPBar.gameObject.SetActive(true);
        view.slider_BossHPBar1.value = 1.0f;
        view.slider_BossHPBar2.value = 1.0f;
        view.slider_BossHPBar3.value = 1.0f;
        view.image_BossHPNum1.gameObject.SetActive(false);
        view.image_BossHPNum2.gameObject.SetActive(false);
        view.image_BossHPNum3.gameObject.SetActive(true);
        HeadUI headUI = new HeadUI();

        headUIDict.Add(param.id, headUI);
    }
Exemplo n.º 6
0
    protected void AppendWeaponUI()
    {
        if ((MonsterType)dataPO.MonsterType != MonsterType.Weapon)
        {
            return;
        }

        BattleHeadUILogic.HeadUIParam param = BattleHeadUILogic.HeadUIParam.New();
        param.goHead = goHead;
        param.id     = id;
        param.type   = (Monster.MonsterType)dataPO.MonsterType;
        param.damage = 0;
        EventDispatcher.TriggerEvent(GameEventDef.EVNET_APPEND_WEAPON_UI, param);
    }
Exemplo n.º 7
0
    public void OnEventUpdateMonsterHeadUI(BattleHeadUILogic.HeadUIParam param)
    {
        if (headUIDict.ContainsKey(param.id))
        {
            HeadUI headUI = headUIDict[param.id];
            if (!headUI.uiGo.gameObject.activeSelf && param.damage == 0)
            {
                return;
            }

            Vector2 pos;
            Canvas  canvas = headUI.image.canvas;
            pos = Camera.main.WorldToScreenPoint(param.goHead.transform.position);
            if (RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform, pos, null, out pos))
            {
                headUI.rt.anchoredPosition = pos;
            }
            headUI.bar.value = (float)param.min / (float)param.max;

            if (param.damage > 0)
            {
                switch (param.type)
                {
                case Monster.MonsterType.Senior:
                case Monster.MonsterType.Normal:
                {
                    headUI.showTime += GameConfig.GAME_CONFIG_SHOW_HEAD_UI_TIME_1;
                    break;
                }

                case Monster.MonsterType.NPC:
                {
                    headUI.showTime += GameConfig.GAME_CONFIG_SHOW_HEAD_UI_TIME_2;
                    break;
                }
                }
            }

            headUI.showTime -= Main.NonStopTime.deltaTime;
            if (headUI.showTime <= 0.0f)
            {
                headUI.showTime = 0.0f;
                headUI.uiGo.gameObject.SetActive(false);
            }
            else
            {
                headUI.uiGo.gameObject.SetActive(true);
            }
        }
    }
Exemplo n.º 8
0
    protected void PlayFloatUI(int value, int index)
    {
        if (value <= 0)
        {
            return;
        }

        BattleHeadUILogic.HeadUIParam param = BattleHeadUILogic.HeadUIParam.New();
        param.goHead = goHead;
        param.id     = id;
        param.type   = (Monster.MonsterType)dataPO.MonsterType;
        param.damage = value;
        param.min    = index;
        EventDispatcher.TriggerEvent(GameEventDef.EVNET_APPEND_FLOAT_ART_NUMBER, param);
    }
Exemplo n.º 9
0
    protected void OnUpdateWeaponUI(int damage)
    {
        if ((MonsterType)dataPO.MonsterType != MonsterType.Weapon)
        {
            return;
        }

        BattleHeadUILogic.HeadUIParam param = BattleHeadUILogic.HeadUIParam.New();
        param.goHead = goHead;
        param.id     = id;
        param.type   = (Monster.MonsterType)dataPO.MonsterType;
        param.damage = damage;
        param.max    = dataPO.SaveDegree;
        param.min    = mp;
        EventDispatcher.TriggerEvent(GameEventDef.EVNET_UPDATE_WEAPON_UI, param);
    }
Exemplo n.º 10
0
    public void OnEventUpdateWeaponUI(BattleHeadUILogic.HeadUIParam param)
    {
        if (weaponUIDict.ContainsKey(param.id))
        {
            HeadUI headUI = weaponUIDict[param.id];
            if (!headUI.uiGo.gameObject.activeSelf)
            {
                return;
            }

            Vector2 pos;
            Canvas  canvas = headUI.image.canvas;
            pos = Camera.main.WorldToScreenPoint(param.goHead.transform.position);
            if (RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform, pos, null, out pos))
            {
                headUI.rt.anchoredPosition = pos;
            }

            if (param.damage > 0)
            {
                headUI.showTime += GameConfig.GAME_CONFIG_SHOW_HEAD_UI_TIME_1;
                GameObject goFX = GameObject.Instantiate(view.panel_HitBoss.gameObject) as GameObject;
                goFX.transform.SetParent(view.ui_Parent.transform);
                goFX.gameObject.SetActive(true);
                goFX.GetComponent <RectTransform>().anchoredPosition = pos;
                goFX.GetComponent <RectTransform>().localScale       = Vector3.one;
                StartCoroutine(OnCreateHitBossFX(goFX));
            }

            headUI.showTime -= Main.NonStopTime.deltaTime;
            if (headUI.showTime <= 0.0f)
            {
                headUI.showTime = 0.0f;
                Slider hpBar = headUI.uiGo.transform.Find("Panel_Bar/Image_HPBar").GetComponent <Slider>();
                headUI.uiGo.transform.Find("Panel_Bar").gameObject.SetActive(false);
            }
            else
            {
                Slider hpBar = headUI.uiGo.transform.Find("Panel_Bar/Image_HPBar").GetComponent <Slider>();
                headUI.uiGo.transform.Find("Panel_Bar").gameObject.SetActive(true);
                hpBar.value = (float)param.min / (float)param.max;
            }
        }
    }
Exemplo n.º 11
0
    public void OnEventUpdateRescueHintUI(BattleHeadUILogic.HeadUIParam param, int cardID)
    {
        if (hintUIDict.ContainsKey(param.id))
        {
            HeadUI headUI = hintUIDict[param.id];
            if (!headUI.uiGo.gameObject.activeSelf)
            {
                return;
            }

            //Vector2 pos;
            //Canvas canvas = headUI.image.canvas;
            //pos = Camera.main.WorldToScreenPoint(param.goHead.transform.position);
            //if (RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform, pos, null, out pos))
            //{
            //    headUI.rt.anchoredPosition = pos;
            //}
            headUI.rt.anchoredPosition = view.rescuePosList[cardID - 1].rectTransform.anchoredPosition;
        }
    }
Exemplo n.º 12
0
    public void OnEventAppendMonsterHeadUI(BattleHeadUILogic.HeadUIParam param)
    {
        HeadUI headUI = new HeadUI();

        headUI.showTime = 0;

        switch (param.type)
        {
        case Monster.MonsterType.Senior:
        case Monster.MonsterType.Normal:
        {
            headUI.uiGo = GameObject.Instantiate(view.panel_RedHPBar.gameObject) as GameObject;
            break;
        }

        case Monster.MonsterType.NPC:
        {
            headUI.uiGo = GameObject.Instantiate(view.panel_GreenHPBar.gameObject) as GameObject;
            break;
        }
        }

        headUI.uiGo.transform.SetParent(view.ui_Parent.transform);
        //headUI.uiGo.gameObject.SetActive(true);
        Vector2 pos;

        headUI.image = headUI.uiGo.GetComponent <Image>();
        Canvas canvas = headUI.image.canvas;

        pos = Camera.main.WorldToScreenPoint(param.goHead.transform.position);
        if (RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform, pos, null, out pos))
        {
            headUI.rt = headUI.uiGo.GetComponent <RectTransform>();
            headUI.rt.anchoredPosition = pos;
        }

        headUI.bar       = headUI.uiGo.transform.Find("Image_HPBar").GetComponent <Slider>();
        headUI.bar.value = (float)param.min / (float)param.max;

        headUIDict.Add(param.id, headUI);
    }
Exemplo n.º 13
0
 protected void AppendHeadUI()
 {
     if (dataPO.DisplayBlood == 1)
     {
         BattleHeadUILogic.HeadUIParam param = BattleHeadUILogic.HeadUIParam.New();
         param.goHead = goHead;
         param.id     = id;
         param.type   = (Monster.MonsterType)dataPO.MonsterType;
         if ((MonsterType)dataPO.MonsterType != MonsterType.NPC)
         {
             param.max = dataPO.Hp;
             param.min = hp;
         }
         else
         {
             param.max = dataPO.SaveDegree;
             param.min = mp;
         }
         EventDispatcher.TriggerEvent(GameEventDef.EVNET_APPEND_HEAD_UI, param);
     }
 }
Exemplo n.º 14
0
 protected void OnUpdateHeadUI(int damage)
 {
     if (dataPO.DisplayBlood == 1)
     {
         BattleHeadUILogic.HeadUIParam param = BattleHeadUILogic.HeadUIParam.New();
         param.goHead = goHead;
         param.id     = id;
         param.type   = (Monster.MonsterType)dataPO.MonsterType;
         if ((MonsterType)dataPO.MonsterType != MonsterType.NPC)
         {
             param.max = dataPO.Hp;
             param.min = hp;
         }
         else
         {
             param.max = dataPO.SaveDegree;
             param.min = mp;
         }
         param.damage = damage;
         EventDispatcher.TriggerEvent(GameEventDef.EVNET_UPDATE_HEAD_UI, param);
     }
 }
Exemplo n.º 15
0
    public void OnEventAppendWeaponUI(BattleHeadUILogic.HeadUIParam param)
    {
        HeadUI headUI = new HeadUI();

        headUI.showTime = 0;
        headUI.uiGo     = GameObject.Instantiate(view.panel_Weapon.gameObject) as GameObject;
        headUI.uiGo.transform.SetParent(view.ui_Parent.transform);
        headUI.uiGo.gameObject.SetActive(true);
        Vector2 pos;

        headUI.image = headUI.uiGo.GetComponent <Image>();
        Canvas canvas = headUI.image.canvas;

        pos = Camera.main.WorldToScreenPoint(param.goHead.transform.position);
        if (RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform, pos, null, out pos))
        {
            headUI.rt = headUI.uiGo.GetComponent <RectTransform>();
            headUI.rt.anchoredPosition = pos;
            headUI.rt.localScale       = Vector3.one;
        }
        weaponUIDict.Add(param.id, headUI);
    }
Exemplo n.º 16
0
    public void OnEventAppendFloatArtNumber(BattleHeadUILogic.HeadUIParam param)
    {
        int    score = param.damage;
        string text  = score.ToString();

        // 计算每个位置的数值
        int[] value = new int[4];
        int   level = 100;
        int   count = 1;
        bool  sign  = false;

        for (int index = 1; index < 4; ++index)
        {
            int number = (score / level) % 10;
            if (number > 0 && sign == false)
            {
                sign = true;
            }

            if (sign)
            {
                value[count++] = number;
            }
            level /= 10;
        }

        // 临时数据保存
        FloatUI floatUI = new FloatUI();

        floatUI.uiGo = GameObject.Instantiate(view.panel_FloatArtNumber.gameObject) as GameObject;
        floatUI.uiGo.transform.SetParent(view.ui_Parent.transform);
        floatUI.uiGo.transform.localScale = Vector3.one;

        // 获得Image组件
        Image[] artNumberSprite = new Image[4];
        for (int i = 0; i < 4; i++)
        {
            int number = i + 1;
            artNumberSprite[i] = floatUI.uiGo.transform.FindChild("Image_Number" + number.ToString()).GetComponent <Image>();
            artNumberSprite[i].gameObject.SetActive(false);
        }

        // 根据要显示的文字进行位置显示
        SetSpritePositionByLength(score.ToString().Length + 1, artNumberSprite);

        // 设置颜色
        Color color;

        if (param.type == Monster.MonsterType.NPC)
        {
            color = Color.green;
        }
        else
        {
            color = Color.red;
        }

        // 设置图片并显示
        Vector2 size = new Vector2(21, 29);

        for (int i = 0; i < text.Length; i++)
        {
            int  num    = 0;
            bool result = int.TryParse(text.Substring(i, 1), out num);
            if (i == 0)
            {
                artNumberSprite[0].gameObject.SetActive(true);
                artNumberSprite[0].color = color;
            }
            artNumberSprite[i + 1].sprite = view.image_Numbers[value[i + 1]].sprite;
            artNumberSprite[i + 1].gameObject.SetActive(true);
            artNumberSprite[i + 1].rectTransform.sizeDelta = size;
            artNumberSprite[i + 1].color = color;
        }

        // 映射头顶位置进行显示
        Vector2 pos;
        Canvas  canvas = floatUI.uiGo.GetComponent <Image>().canvas;

        pos = Camera.main.WorldToScreenPoint(param.goHead.transform.position);
        if (RectTransformUtility.ScreenPointToLocalPointInRectangle(canvas.transform as RectTransform, pos, null, out pos))
        {
            floatUI.uiGo.GetComponent <RectTransform>().anchoredPosition = pos;
        }

        floatUI.uiGo.SetActive(true);
        // 动画表现
        RectTransform rectTransform = floatUI.uiGo.GetComponent <RectTransform>();
        Sequence      sequence      = DOTween.Sequence();

        pos.y += 50;
        sequence.Append(rectTransform.DOAnchorPos(pos, 1.0f));
        if (param.min == 0)
        {
            pos.Set(-554f, -409);
            sequence.Append(rectTransform.DOAnchorPos(pos, 0.75f));
        }
        else if (param.min == 1)
        {
            pos.Set(72f, -409);
            sequence.Append(rectTransform.DOAnchorPos(pos, 0.75f));
        }
        else if (param.min == 2)
        {
            pos.Set(711f, -409);
            sequence.Append(rectTransform.DOAnchorPos(pos, 0.75f));
        }
        sequence.OnComplete(OnFloatUIDisappearEnd);
        floatUI.index  = param.min;
        floatUI.damage = score;
        floatUIList.Add(floatUI);
        HeadUIParam.Store(param);
        // 1: -554  -409

        // 2:  72   -409

        // 3:  711  -409
    }