예제 #1
0
파일: ZhiboUI.cs 프로젝트: DLBL0624/CSCI529
    public void ShowBuffDetail(ZhiboBuff buff)
    {
        view.BuffDetailPanel.transform.position = buff.gameObject.transform.position;
        view.BuffDetailPanel.gameObject.SetActive(true);
        string format = gameMode.GetBuffDesp(buff.bInfo.BuffType);

        view.BuffDetail.text = string.Format(format, 10);
    }
예제 #2
0
    public void GenBuff(ZhiboBuffInfo cinfo)
    {
        ZhiboBuff buff = gameMode.mUICtrl.GenBuff();

        buff.Init(gameMode, cinfo);
        gameMode.state.ZhiboBuffs.Add(buff);
        CalculateBuffExtras();
    }
예제 #3
0
파일: ZhiboUI.cs 프로젝트: DLBL0624/CSCI529
    public ZhiboBuff GenBuff()
    {
        GameObject go = mResLoader.Instantiate("Zhibo/Buff", view.BuffContainer);

        if (go == null)
        {
            Debug.LogError("fail");
        }
        ZhiboBuff ret = go.GetComponent <ZhiboBuff>();

        return(ret);
    }
예제 #4
0
    public void HandlePerTurnEffect()
    {
        int[] req   = new int[(int)eAudienceHpType.Max];
        int   score = 0;

        for (int i = 0; i < gameMode.state.ZhiboBuffs.Count; i++)
        {
            ZhiboBuff buff = gameMode.state.ZhiboBuffs[i];
            switch (buff.bInfo.BuffType)
            {
            case eBuffType.Score_Per_Turn:
                score += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Add_Req_1_Per_Turn:
                req[1] += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Add_Req_2_Per_Turn:
                req[2] += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Add_Req_3_Per_Turn:
                req[3] += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Add_Req_4_Per_Turn:
                req[4] += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Add_Req_5_Per_Turn:
                req[5] += buff.bInfo.BuffLevel;
                break;

            default:
                break;
            }
        }
        gameMode.GainScore(score);
        gameMode.mAudienceMgr.HandleGemHit(req);
    }
예제 #5
0
    public void CalculateBuffExtras()
    {
        for (int i = 0; i < 5; i++)
        {
            BuffAddValue[i]   = 0;
            BuffAddPercent[i] = 0;
        }
        CardCountedBuffs.Clear();
        GenScoreExtraRate       = 0;
        DanmuExtraReward        = 0;
        GainScorePerSec         = 0;
        ExtraSuccessPossibility = 0;
        BadRateDiff             = 0;

        AvoidBadDanmu = false;

        for (int i = 0; i < gameMode.state.ZhiboBuffs.Count; i++)
        {
            ZhiboBuff buff = gameMode.state.ZhiboBuffs[i];
            switch (buff.bInfo.BuffType)
            {
            case eBuffType.Meili_Add:
                BuffAddValue[0] += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Meili_Add_P:
                BuffAddPercent[0] += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Tili_Add:
                BuffAddValue[1] += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Tili_Add_P:
                BuffAddPercent[1] += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Koucai_Add:
                BuffAddValue[2] += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Koucai_Add_P:
                BuffAddPercent[2] += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Fanying_Add:
                BuffAddValue[3] += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Fanying_Add_P:
                BuffAddPercent[3] += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Jiyi_Add:
                BuffAddValue[4] += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Jiyi_Add_P:
                BuffAddPercent[4] += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Extra_Score_Rate:
                GenScoreExtraRate += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Score_Per_Sce:
                GainScorePerSec += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Extra_Neg_Level:
                BadRateDiff += buff.bInfo.BuffLevel;
                break;

            case eBuffType.Success_Rate_Multi:
                ExtraChenggonglv += buff.bInfo.BuffLevel;
                break;

            default:
                break;
            }
            if (buff.bInfo.AffectCard)
            {
                CardCountedBuffs.Add(buff);
            }
        }
    }
예제 #6
0
 public void RemoveBuff(ZhiboBuff obj)
 {
     gameMode.state.ZhiboBuffs.Remove(obj);
     mResLoader.ReleaseGO("Zhibo/Buff", obj.gameObject);
     //CalculateBuffExtras();
 }