コード例 #1
0
    public void SetUnit(UnitSaveData unitSave, bool isForceSortie, bool isForbiddenSortie, bool is_unitcheck = false)
    {
        unit = new Unitdata(unitSave, false, is_unitcheck);
        //HPとスキル使用回数の回復
        unit.hp = unit.status.maxhp;
        foreach (Skill skill in unit.skills)
        {
            skill.use = skill.maxuse;
        }
        textName.text  = unit.charaname;
        textLevel.text = string.Format("Lv:{0}", unit.status.level);
        //LvMAX判定
        if (unit.status.level >= 99)
        {
            unit.status.level = 99; //メモリ改ざんとか対策
            textExp.text      = string.Format("MAX");
            textExp.color     = Color.red;
            expGauge.GetComponent <RectTransform>().sizeDelta
                = new Vector2(expGaugeParent.GetComponent <RectTransform>().sizeDelta.x,
                              expGaugeParent.GetComponent <RectTransform>().sizeDelta.y);
        }
        else
        {
            textExp.text  = string.Format("あと{0}", unit.status.needexp - unit.status.exp);
            textExp.color = Color.white;
            expGauge.GetComponent <RectTransform>().sizeDelta
                = new Vector2((float)unit.status.exp / (float)unit.status.needexp * expGaugeParent.GetComponent <RectTransform>().sizeDelta.x,
                              expGaugeParent.GetComponent <RectTransform>().sizeDelta.y);
        }

        if (isForceSortie)
        {
            sortiestate = SortieState.FORCE;
            //強制出撃の場合、すでにマップ上に存在する該当キャラクターとunitの指し示す先が一致する必要がある。
            foreach (Unitdata tempunit in BattleVal.unitlist)
            {
                if (tempunit.savescobj == unit.savescobj)
                {
                    unit = tempunit;
                }
            }
        }
        else if (isForbiddenSortie)
        {
            sortiestate = SortieState.FORBIDDEN;
        }
        else
        {
            sortiestate = SortieState.NONE;
        }
        if (is_unitcheck)
        {
            buttonIsSortie.gameObject.SetActive(false);
        }
        unitcheckflag = is_unitcheck;
    }
コード例 #2
0
    //出撃フラグボタンがクリックされた時
    public void OnClickSortieButton()
    {
        switch (sortiestate)
        {
        case SortieState.NONE:
            //出撃可能な場合
            if (CharaSetup.sortieflag)
            {
                Operation.setSE(seOk);
                sortiestate = SortieState.SORTIE;
                DrawUnit();
            }
            else
            {
                Operation.setSE(seCancel);
            }
            break;

        case SortieState.SORTIE:
            sortiestate = SortieState.NONE;
            HideUnit();
            break;
        }
    }