Ejemplo n.º 1
0
    void OnSelectPrisonHandler()
    {
        if (state != 2)
        {
            return;
        }

        prisonIdx = (int)prisonerList.GetSelectItem().GetItemData();
        string msg = "";

        if (Informations.Instance.GetGeneralInfo(prisonIdx).city != -1)
        {
            state = 3;

            if (Informations.Instance.GetGeneralInfo(prisonIdx).king == Controller.kingIndex)
            {
                msg = ZhongWen.Instance.GetGeneralName(prisonIdx) + ZhongWen.Instance.zhaoxiang_guilai;
            }
            else
            {
                msg = ZhongWen.Instance.GetGeneralName(prisonIdx) + ZhongWen.Instance.zhaoxiang_ask;
            }
        }
        else
        {
            state = 6;
            Informations.Instance.GetGeneralInfo(prisonIdx).active = 0;
            msg = ZhongWen.Instance.GetGeneralName(prisonIdx) + ZhongWen.Instance.zhaoxiang_buzai;
        }

        prisonerList.enabled = false;

        kingDialogue.SetDialogue(Informations.Instance.GetKingInfo(Controller.kingIndex).generalIdx, msg, MenuDisplayAnim.AnimType.InsertFromBottom);
    }
Ejemplo n.º 2
0
    void OnSelectGeneralHandler()
    {
        if (state != 0)
        {
            return;
        }

        state = 1;

        int idx = (int)generalsList.GetSelectItem().GetItemData();

        generalSelected = idx;

        GeneralInfo gInfo = Informations.Instance.GetGeneralInfo(idx);

        cityInfo.SetCity(gInfo.city);
        map.ClearSelect();
        map.SelectCity(gInfo.city);

        confirmBox.SetActive(true);
        confirmBox.transform.position = new Vector3(confirmBox.transform.position.x,
                                                    generalsList.GetSelectItem().transform.position.y, confirmBox.transform.position.z);

        generalsList.enabled = false;
    }
Ejemplo n.º 3
0
    void OnSelectGeneralHandler()
    {
        if (state != 2)
        {
            return;
        }

        state            = 3;
        selectGeneralIdx = (int)generalsList.GetSelectItem().GetItemData();

        cityInfo.GetComponent <MenuDisplayAnim>().SetAnim(MenuDisplayAnim.AnimType.OutToBottom);
        generalsList.enabled = false;
    }
Ejemplo n.º 4
0
    void OnTargetItemClickHandler()
    {
        state = 1;
        menuAnim.SetAnim(MenuDisplayAnim.AnimType.OutToRight);

        targetData = (TargetData)targetList.GetSelectItem().GetItemData();
    }
Ejemplo n.º 5
0
    void OnSelectKingHandler()
    {
        int kIdx = (int)kingList.GetSelectItem().GetItemData();

        kingInfo.SetKing(kIdx);

        KingInfo kInfo = Informations.Instance.GetKingInfo(kIdx);

        map.ClearSelect();
        for (int i = 0; i < kInfo.cities.Count; i++)
        {
            map.SelectCity((int)kInfo.cities[i]);
        }
    }
Ejemplo n.º 6
0
    void OnSelectGeneral()
    {
        if (state != 0)
        {
            return;
        }

        state = 2;

        selectIdx        = generalsList.GetSelectIndex();
        selectGeneralIdx = (int)generalsList.GetSelectItem().GetItemData();

        generalsList.gameObject.GetComponent <MenuDisplayAnim>().SetAnim(MenuDisplayAnim.AnimType.OutToLeft);

        OnChangeGeneralInfo();
    }
Ejemplo n.º 7
0
    void OnConfirmButton()
    {
        confirmBox.SetActive(false);

        int         gIdx  = (int)generalsInfoList.GetSelectItem().GetItemData();
        GeneralInfo gInfo = Informations.Instance.GetGeneralInfo(gIdx);

        CityObjectsData cityData = (CityObjectsData)objsList.GetSelectItem().GetItemData();

        int data = cityData.code;

        if (data == -1)
        {
            state = 0;

            string objName = ZhongWen.Instance.GetEquipmentName(gInfo.equipment);
            int    code    = (1 << 16) + gInfo.equipment;

            List <int> o = Informations.Instance.GetCityInfo(gInfo.city).objects;
            o.Add(code);

            CityObjectsData d = new CityObjectsData(gInfo.city, code);

            objsList.AddItem(objName).SetItemData(d);


            EquipmentInfo eInfo = Informations.Instance.GetEquipmentInfo(gInfo.equipment);
            if (eInfo.type == 0)
            {
                gInfo.intellect -= eInfo.data;
            }
            else if (eInfo.type == 3)
            {
                gInfo.strength -= eInfo.data;
            }

            gInfo.equipment = -1;
            objsList.DeleteItem(objsList.GetSelectIndex());
        }
        else
        {
            List <int> objs = Informations.Instance.GetCityInfo(cityData.city).objects;

            int code = data & 0xFFFF;
            int type = data >> 16;

            int cObjIdx = 0;
            for (; cObjIdx < objs.Count; cObjIdx++)
            {
                if ((int)objs[cObjIdx] == cityData.code)
                {
                    break;
                }
            }

            objs.RemoveAt(cObjIdx);

            switch (type)
            {
            case 1:
                state = 0;

                if (gInfo.equipment != -1)
                {
                    string objName = ZhongWen.Instance.GetEquipmentName(gInfo.equipment);
                    int    d       = (1 << 16) + gInfo.equipment;

                    cityData.code = d;

                    objsList.GetSelectItem().GetComponent <exSpriteFont>().text = objName;
                    objsList.GetSelectItem().SetItemData(cityData);
                    objsList.SetItemSelected(-1, false);

                    objs.Insert(cObjIdx, d);
                }
                else
                {
                    objsList.DeleteItem(objsList.GetSelectIndex());
                }

                ChangeGeneralsEquitment(gInfo, code);
                break;

            case 2:
                state = 2;

                gInfo.arms += code;
                objsList.DeleteItem(objsList.GetSelectIndex());

                dialogue.SetDialogue(Informations.Instance.GetKingInfo(Controller.kingIndex).generalIdx,
                                     ZhongWen.Instance.GetGeneralName(gIdx) + ZhongWen.Instance.jublzh + ZhongWen.Instance.GetArmsName(code) + ZhongWen.Instance.denengli,
                                     MenuDisplayAnim.AnimType.InsertFromBottom);

                break;

            case 3:
                state = 2;

                gInfo.formation += code;
                objsList.DeleteItem(objsList.GetSelectIndex());

                dialogue.SetDialogue(Informations.Instance.GetKingInfo(Controller.kingIndex).generalIdx,
                                     ZhongWen.Instance.GetGeneralName(gIdx) + ZhongWen.Instance.xuehuile + ZhongWen.Instance.GetFormationName(code),
                                     MenuDisplayAnim.AnimType.InsertFromBottom);

                break;
            }
        }

        generalsInfoList.GetSelectItem().GetComponent <exSpriteFont>().text = GetGeneralInfo(gIdx);
        OnSelectGeneral();
    }
Ejemplo n.º 8
0
    void OnSelectGeneral()
    {
        if (state != 0)
        {
            return;
        }

        int         count = objsList.GetCount();
        int         gIdx  = (int)generalsInfoList.GetSelectItem().GetItemData();
        GeneralInfo gInfo = Informations.Instance.GetGeneralInfo(gIdx);

        for (int i = 0; i < count; i++)
        {
            ListItem item = objsList.GetListItem(i);

            CityObjectsData cityData = (CityObjectsData)item.GetItemData();
            int             data     = cityData.code;
            if (data == -1)
            {
                continue;
            }

            int  code = data & 0xFFFF;
            int  type = data >> 16;
            bool flag = true;

            switch (type)
            {
            case 1:
                if (gInfo.equipment == code)
                {
                    flag = false;
                }
                break;

            case 2:
                if ((gInfo.arms & code) != 0)
                {
                    flag = false;
                }
                break;

            case 3:
                if ((gInfo.formation & code) != 0)
                {
                    flag = false;
                }
                break;
            }

            item.SetSelectEnable(flag);
        }

        if (count > 0 && ((CityObjectsData)objsList.GetListItem(count - 1).GetItemData()).code == -1)
        {
            if (gInfo.equipment == -1)
            {
                objsList.DeleteItem(count - 1);
            }
        }
        else
        {
            if (gInfo.equipment != -1)
            {
                ListItem li = objsList.AddItem(ZhongWen.Instance.xiexia);

                CityObjectsData data = new CityObjectsData(0, -1);
                li.SetItemData(data);
            }
        }
    }
Ejemplo n.º 9
0
    void OnGeneralSelectHandler()
    {
        int gIdx = (int)generalsList.GetSelectItem().GetItemData();

        generalsList.enabled = false;

        isTopJobLevel = false;

        GeneralInfo gInfo = Informations.Instance.GetGeneralInfo(gIdx);

        if (gInfo.magic[2] != -1 && gInfo.magic[3] == -1)
        {
            if (gInfo.magic[2] < 18)
            {
                gInfo.magic[3] = 18;
            }
            else
            {
                gInfo.magic[3] = 49;
            }
            gInfo.job = gInfo.magic[3];

            string msg = ZhongWen.Instance.shengqian_feng + ZhongWen.Instance.GetGeneralName(gIdx) + ZhongWen.Instance.shengqian_wei + ZhongWen.Instance.GetJobsName(gInfo.magic[3]);
            dialogue.SetDialogue(Informations.Instance.GetKingInfo(Controller.kingIndex).generalIdx, msg, MenuDisplayAnim.AnimType.InsertFromBottom);

            state         = 4;
            isTopJobLevel = true;

            return;
        }

        int jobLevel = 0;
        int jobIdx   = 0;
        int step     = 0;

        if (gInfo.level < 20)
        {
            jobIdx        = gInfo.magic[0];
            jobLevel      = 2;
            isTopJobLevel = true;
        }
        else
        {
            if (gInfo.magic[1] == -1)
            {
                jobLevel      = 2;
                jobIdx        = gInfo.magic[0];
                isTopJobLevel = false;
            }
            else
            {
                jobLevel = 3;
                jobIdx   = gInfo.magic[1];
                if (gInfo.level < 40)
                {
                    isTopJobLevel = true;
                }
                else
                {
                    isTopJobLevel = false;
                }
            }
        }

        if (jobIdx < 18)
        {
            jobIdx += 6;
            step    = 3;

            for (int i = 0; i < 3; i++)
            {
                jobsName[i].GetComponent <exSpriteFont>().text = ZhongWen.Instance.GetJobsName(jobIdx);
                jobsIdx[i] = jobIdx;

                jobIdx += step;
                if (jobIdx >= jobLevel * 6)
                {
                    jobIdx -= 5;
                }
            }
        }
        else
        {
            jobIdx += 10;
            step    = 5;

            for (int i = 0; i < 3; i++)
            {
                jobsName[i].GetComponent <exSpriteFont>().text = ZhongWen.Instance.GetJobsName(jobIdx);
                jobsIdx[i] = jobIdx;

                jobIdx += step;
                if (jobIdx >= 19 + jobLevel * 10)
                {
                    jobIdx -= 9;
                }
            }
        }

        state = 3;

        jobsCtrl.SetActive(true);
        jobsCtrl.transform.position = new Vector3(
            jobsCtrl.transform.position.x, generalsList.GetSelectItem().transform.position.y, jobsCtrl.transform.position.z);

        MenuDisplayAnim anim = jobsCtrl.GetComponent <MenuDisplayAnim>();

        Vector3 pos = anim.GetOriginalPosition();

        pos.y = generalsList.GetSelectItem().transform.position.y;
        anim.SetOriginalPosition(pos);

        anim.SetAnim(MenuDisplayAnim.AnimType.InsertFromLeft);
    }