Esempio n. 1
0
    void GetCityInfo()
    {
        long m = 0;
        long p = 0;

        KingInfo kInfo = Informations.Instance.GetKingInfo(Controller.kingIndex);

        for (int i = 0; i < kInfo.cities.Count; i++)
        {
            CityInfo cInfo = Informations.Instance.GetCityInfo((int)kInfo.cities[i]);

            m += cInfo.money;
            p += cInfo.population;
        }

        cityNum.text    = "" + kInfo.cities.Count;
        money.text      = "" + m;
        population.text = p + ZhongWen.Instance.ren;

        if (kInfo.cities.Count < 16)
        {
            Instantiate(background[0]);
        }
        else if (kInfo.cities.Count < 32)
        {
            Instantiate(background[1]);
        }
        else
        {
            Instantiate(background[2]);
        }
    }
Esempio n. 2
0
    /// <summary>
    /// Inits the default kings info.
    /// </summary>

    private void InitDefaultKingsInfo()
    {
        if (kings == null)
        {
            kings = new KingInfo[kingNum + 1];
            for (int i = 0; i < kingNum + 1; i++)
            {
                kings[i] = new KingInfo();
            }
        }

        kings[0].generalIdx  = 98;
        kings[1].generalIdx  = 134;
        kings[2].generalIdx  = 59;
        kings[3].generalIdx  = 121;
        kings[4].generalIdx  = 71;
        kings[5].generalIdx  = 72;
        kings[6].generalIdx  = 3;
        kings[7].generalIdx  = 156;
        kings[8].generalIdx  = 7;
        kings[9].generalIdx  = 189;
        kings[10].generalIdx = 79;
        kings[11].generalIdx = 110;
        kings[12].generalIdx = 6;
        kings[13].generalIdx = 132;
        kings[14].generalIdx = 137;
        kings[15].generalIdx = 167;
        kings[16].generalIdx = 172;
        kings[17].generalIdx = 133;
    }
Esempio n. 3
0
    static int AddGeneral(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        KingInfo obj  = LuaScriptMgr.GetNetObject <KingInfo>(L, 1);
        int      arg0 = (int)LuaScriptMgr.GetNumber(L, 2);

        obj.AddGeneral(arg0);
        return(0);
    }
Esempio n. 4
0
    public void SetKingInfo(int idx, KingInfo kInfo)
    {
        if (kings == null)
        {
            kings = new KingInfo[kingNum + 1];
        }

        kings[idx] = kInfo;
    }
Esempio n. 5
0
    static int RemovePrisons(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        KingInfo obj  = LuaScriptMgr.GetNetObject <KingInfo>(L, 1);
        int      arg0 = (int)LuaScriptMgr.GetNumber(L, 2);

        obj.RemovePrisons(arg0);
        return(0);
    }
Esempio n. 6
0
    static int SetKingInfo(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 3);
        DataManager obj  = LuaScriptMgr.GetNetObject <DataManager>(L, 1);
        int         arg0 = (int)LuaScriptMgr.GetNumber(L, 2);
        KingInfo    arg1 = LuaScriptMgr.GetNetObject <KingInfo>(L, 3);

        obj.SetKingInfo(arg0, arg1);
        return(0);
    }
Esempio n. 7
0
    static int GetKingInfo(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        DataManager obj  = LuaScriptMgr.GetNetObject <DataManager>(L, 1);
        int         arg0 = (int)LuaScriptMgr.GetNumber(L, 2);
        KingInfo    o    = obj.GetKingInfo(arg0);

        LuaScriptMgr.PushObject(L, o);
        return(1);
    }
Esempio n. 8
0
 public void SetKingInfo(int id, KingInfo info)
 {
     if (Kings.ContainsKey(id))
     {
         Kings[id] = info;
     }
     else
     {
         Kings.Add(id, info);
     }
 }
Esempio n. 9
0
    public void InitKingsInfo()
    {
        m_listKings = new Dictionary <int, KingInfo>();

        IEnumerator enumerator = XMLManager.Kings.Data.Keys.GetEnumerator();

        while (enumerator.MoveNext())
        {
            int      ID   = (int)enumerator.Current;
            KingInfo info = new KingInfo(ID);
            Kings.Add(ID, info);
        }
    }
Esempio n. 10
0
    static int set_GeneralID(IntPtr L)
    {
        object o = LuaScriptMgr.GetLuaObject(L, 1);

        if (o == null)
        {
            LuaDLL.luaL_error(L, "unknown member name GeneralID");
        }

        KingInfo obj = (KingInfo)o;

        obj.GeneralID = (int)LuaScriptMgr.GetNumber(L, 3);
        return(0);
    }
Esempio n. 11
0
    static int set_Name(IntPtr L)
    {
        object o = LuaScriptMgr.GetLuaObject(L, 1);

        if (o == null)
        {
            LuaDLL.luaL_error(L, "unknown member name Name");
        }

        KingInfo obj = (KingInfo)o;

        obj.Name = LuaScriptMgr.GetString(L, 3);
        return(0);
    }
Esempio n. 12
0
    static int set_Active(IntPtr L)
    {
        object o = LuaScriptMgr.GetLuaObject(L, 1);

        if (o == null)
        {
            LuaDLL.luaL_error(L, "unknown member name Active");
        }

        KingInfo obj = (KingInfo)o;

        obj.Active = LuaScriptMgr.GetBoolean(L, 3);
        return(0);
    }
Esempio n. 13
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]);
        }
    }
Esempio n. 14
0
    static int get_Name(IntPtr L)
    {
        object o = LuaScriptMgr.GetLuaObject(L, 1);

        if (o == null)
        {
            LuaDLL.luaL_error(L, "unknown member name Name");
        }

        KingInfo obj = (KingInfo)o;

        LuaScriptMgr.Push(L, obj.Name);
        return(1);
    }
Esempio n. 15
0
    void GetGeneralInfo()
    {
        int s = 0;

        KingInfo kInfo = Informations.Instance.GetKingInfo(Controller.kingIndex);

        for (int i = 0; i < kInfo.generals.Count; i++)
        {
            s += Informations.Instance.GetGeneralInfo((int)kInfo.generals[i]).soldierCur;
            s += Informations.Instance.GetGeneralInfo((int)kInfo.generals[i]).knightCur;
        }

        generalNum.text = kInfo.generals.Count + ZhongWen.Instance.ren;
        soldierNum.text = s + ZhongWen.Instance.ren;
    }
Esempio n. 16
0
    void SetKingOver(int kIdx)
    {
        for (int g = 0; g < Informations.Instance.generalNum; g++)
        {
            GeneralInfo gInfo = Informations.Instance.GetGeneralInfo(g);

            if (gInfo.king == kIdx)
            {
                gInfo.king = Informations.Instance.kingNum;
            }
        }

        for (int c = 0; c < Informations.Instance.cityNum; c++)
        {
            CityInfo cInfo = Informations.Instance.GetCityInfo(c);

            if (cInfo.king == kIdx)
            {
                cInfo.king = Informations.Instance.kingNum;
                for (int i = 0; i < cInfo.prisons.Count; i++)
                {
                    Informations.Instance.GetGeneralInfo(cInfo.prisons[i]).prisonerIdx = Informations.Instance.kingNum;
                }
            }
        }

        for (int i = 0; i < Informations.Instance.armys.Count; i++)
        {
            ArmyInfo ai = Informations.Instance.armys[i];

            if (ai.king == kIdx)
            {
                ai.king = Informations.Instance.kingNum;
            }
            for (int j = 0; j < ai.prisons.Count; j++)
            {
                Informations.Instance.GetGeneralInfo(ai.prisons[j]).prisonerIdx = Informations.Instance.kingNum;
            }
        }

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

        kInfo.generals.Clear();
        kInfo.cities.Clear();
        kInfo.active = 0;
    }
Esempio n. 17
0
    /// <summary>
    /// Inits the king cities.
    /// </summary>

    private void InitKingCities()
    {
        for (int idx = 0; idx < kingNum + 1; idx++)
        {
            KingInfo kInfo = GetKingInfo(idx);
            kInfo.cities = new List <int>();

            for (int i = 0; i < cityNum; i++)
            {
                CityInfo cInfo = GetCityInfo(i);

                if (cInfo.king == idx)
                {
                    kInfo.cities.Add(i);
                }
            }
        }
    }
Esempio n. 18
0
    private void InitKingGenerals()
    {
        for (int idx = 0; idx < kingNum + 1; idx++)
        {
            KingInfo kInfo = GetKingInfo(idx);
            kInfo.generals = new List <int>();

            for (int i = generalNum - 1; i >= 0; i--)
            {
                GeneralInfo gInfo = GetGeneralInfo(i);

                if (gInfo.king == idx && gInfo.prisonerIdx == -1)
                {
                    kInfo.generals.Add(i);
                }
            }
        }
    }
Esempio n. 19
0
    public void AddGeneral(int generalID)
    {
        if (Generals.Contains(generalID))
        {
            return;
        }

        Generals.Add(generalID);

        GeneralInfo general = GamePublic.Instance.DataManager.GetGeneralInfo(generalID);

        if (general.KingID != 0)
        {
            KingInfo king = GamePublic.Instance.DataManager.GetKingInfo(general.KingID);
            king.RemoveGeneral(generalID);
        }

        general.KingID = ID;
    }
Esempio n. 20
0
    public bool AddGeneralsList()
    {
        if (haveGeneral)
        {
            return(haveGeneral);
        }

        KingInfo kInfo = Informations.Instance.GetKingInfo(Controller.kingIndex);

        for (int i = 0; i < kInfo.generals.Count; i++)
        {
            int         gIdx  = (int)kInfo.generals[i];
            GeneralInfo gInfo = Informations.Instance.GetGeneralInfo(gIdx);

            if (gInfo.city != -1 && gInfo.intellect >= 80 && gIdx != kInfo.generalIdx)
            {
                haveGeneral = true;

                ListItem li = generalsList.AddItem(ZhongWen.Instance.GetGeneralName1(gIdx));

                li.SetItemData(gIdx);
                if (gInfo.active == 0)
                {
                    li.SetSelectEnable(false);
                }

                if (generalsList.GetCount() == 1)
                {
                    cityInfo.SetCity(gInfo.city);

                    map.ClearSelect();
                    map.SelectCity(gInfo.city);
                }
            }
        }

        if (!haveGeneral)
        {
            bottomDialogue.SetDialogue(Informations.Instance.GetKingInfo(Controller.kingIndex).generalIdx, ZhongWen.Instance.meiyouwujiang, MenuDisplayAnim.AnimType.InsertFromBottom);
        }

        return(haveGeneral);
    }
Esempio n. 21
0
    public void AddPrisons(int generalID)
    {
        if (Prisons.Contains(generalID))
        {
            return;
        }

        Prisons.Add(generalID);

        GeneralInfo general = GamePublic.Instance.DataManager.GetGeneralInfo(generalID);

        if (general.PrisonerID != 0)
        {
            KingInfo king = GamePublic.Instance.DataManager.GetKingInfo(general.PrisonerID);
            king.RemovePrisons(generalID);
        }

        general.PrisonerID = ID;
    }
Esempio n. 22
0
    public bool AddGeneralsList()
    {
        KingInfo kInfo = Informations.Instance.GetKingInfo(Controller.kingIndex);

        for (int i = 0; i < kInfo.generals.Count; i++)
        {
            int         gIdx  = (int)kInfo.generals[i];
            GeneralInfo gInfo = Informations.Instance.GetGeneralInfo(gIdx);

            if (gInfo.king == Controller.kingIndex)
            {
                if (gInfo.level < 10)
                {
                    continue;
                }

                int idx = 0;
                if (gInfo.level < 30)
                {
                    idx = gInfo.level / 10;
                }
                else if (gInfo.level >= 40)
                {
                    idx = 3;
                }

                if (gInfo.magic[idx] == -1)
                {
                    haveGeneral = true;

                    generalsList.AddItem(ZhongWen.Instance.GetGeneralName1(gIdx)).SetItemData(gIdx);
                }
            }
        }

        if (!haveGeneral)
        {
            dialogue.SetDialogue(Informations.Instance.GetKingInfo(Controller.kingIndex).generalIdx, ZhongWen.Instance.shengqian_no, MenuDisplayAnim.AnimType.InsertFromBottom);
        }

        return(haveGeneral);
    }
Esempio n. 23
0
    /// <summary>
    /// Inits the city prefect.
    /// </summary>

    public void InitCityPrefect()
    {
        for (int idx = 0; idx < cityNum; idx++)
        {
            CityInfo cInfo = GetCityInfo(idx);

            if (cInfo.king == -1)
            {
                continue;
            }

            KingInfo kInfo = GetKingInfo(cInfo.king);
            if (GetGeneralInfo(kInfo.generalIdx).city == idx)
            {
                cInfo.prefect = kInfo.generalIdx;
                continue;
            }

            int gIdx = -1;
            for (int i = generalNum - 1; i >= 0; i--)
            {
                GeneralInfo gInfo = GetGeneralInfo(i);

                if (gInfo.city == idx && gInfo.king == cInfo.king && gInfo.prisonerIdx == -1)
                {
                    if (gIdx == -1)
                    {
                        gIdx = i;
                    }
                    else
                    {
                        if (GetGeneralInfo(gIdx).strength < gInfo.strength)
                        {
                            gIdx = i;
                        }
                    }
                }
            }

            cInfo.prefect = gIdx;
        }
    }
    public void SetCity(int idx)
    {
        cityIdx = idx;

        gameObject.SetActive(true);

        if (Informations.Instance.GetCityInfo(idx).king == Controller.kingIndex)
        {
            for (int i = 0; i < commands.Length; i++)
            {
                commands[i].SetButtonEnable(true);
            }

            if (Informations.Instance.GetCityInfo(idx).prisons.Count > 0)
            {
                commands[3].SetButtonEnable(true);
            }
            else
            {
                commands[3].SetButtonEnable(false);
            }

            KingInfo kInfo       = Informations.Instance.GetKingInfo(Informations.Instance.GetCityInfo(idx).king);
            int      kingCityIdx = Informations.Instance.GetGeneralInfo(kInfo.generalIdx).city;
            if (kingCityIdx != idx)
            {
                commands[4].SetButtonEnable(true);
            }
            else
            {
                commands[4].SetButtonEnable(false);
            }
        }
        else
        {
            for (int i = 0; i < commands.Length; i++)
            {
                commands[i].SetButtonEnable(false);
            }
        }
    }
Esempio n. 25
0
    public void SetKing(int idx)
    {
        if (idx < 0 || idx >= Informations.Instance.kingNum)
        {
            return;
        }

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

        head.SetGeneralHead(Informations.Instance.GetKingInfo(idx).generalIdx);

        kingName.text = ZhongWen.Instance.GetKingName(idx);

        long _money      = 0;
        long _population = 0;

        for (int i = 0; i < kInfo.cities.Count; i++)
        {
            int      cIdx  = (int)kInfo.cities[i];
            CityInfo cInfo = Informations.Instance.GetCityInfo(cIdx);

            _money      += cInfo.money;
            _population += cInfo.population;
        }

        cityNum.text    = kInfo.cities.Count + "";
        money.text      = _money + "";
        population.text = _population + ZhongWen.Instance.ren;

        int _soldierNum = 0;

        for (int i = 0; i < kInfo.generals.Count; i++)
        {
            int gIdx = (int)kInfo.generals[i];
            _soldierNum += Informations.Instance.GetGeneralInfo(gIdx).soldierCur;
            _soldierNum += Informations.Instance.GetGeneralInfo(gIdx).knightCur;
        }

        generalNum.text = kInfo.generals.Count + ZhongWen.Instance.ren;
        soldierNum.text = _soldierNum + ZhongWen.Instance.ren;
    }
Esempio n. 26
0
    void AddGeneralsList()
    {
        KingInfo kInfo = Informations.Instance.GetKingInfo(Controller.kingIndex);

        int      kingIdx = kInfo.generalIdx;
        string   str     = ZhongWen.Instance.GetGeneralName1(kingIdx);
        ListItem li      = generalsList.AddItem(str);

        li.SetItemData(kingIdx);

        for (int i = 0; i < kInfo.generals.Count; i++)
        {
            int gIdx = (int)kInfo.generals[i];

            if (gIdx != kingIdx)
            {
                li = generalsList.AddItem(ZhongWen.Instance.GetGeneralName1(gIdx));
                li.SetItemData(gIdx);
            }
        }
    }
Esempio n. 27
0
    void AddObjects()
    {
        KingInfo kInfo = Informations.Instance.GetKingInfo(Controller.kingIndex);

        for (int i = 0; i < kInfo.cities.Count; i++)
        {
            int        cIdx = (int)kInfo.cities[i];
            List <int> obj  = Informations.Instance.GetCityInfo(cIdx).objects;

            if (obj.Count > 0)
            {
                for (int j = 0; j < obj.Count; j++)
                {
                    string objName = "";
                    int    code    = (int)obj[j];
                    int    idx     = code & 0xFFFF;
                    int    type    = code >> 16;
                    switch (type)
                    {
                    case 1:
                        objName = ZhongWen.Instance.GetEquipmentName(idx);
                        break;

                    case 2:
                        objName = ZhongWen.Instance.GetArmsName(idx) + ZhongWen.Instance.bingfu;
                        break;

                    case 3:
                        objName = ZhongWen.Instance.GetFormationName(idx) + ZhongWen.Instance.zhishu;
                        break;
                    }

                    CityObjectsData data = new CityObjectsData(cIdx, code);

                    ListItem li = objsList.AddItem(objName);
                    li.SetItemData(data);
                }
            }
        }
    }
Esempio n. 28
0
    void SetKingOver(int kIdx)
    {
        for (int g = 0; g < Informations.Instance.generalNum; g++)
        {
            GeneralInfo gInfo = Informations.Instance.GetGeneralInfo(g);

            if (gInfo.king == kIdx)
            {
                gInfo.king = Informations.Instance.kingNum;
            }
        }

        for (int c = 0; c < Informations.Instance.cityNum; c++)
        {
            CityInfo cInfo = Informations.Instance.GetCityInfo(c);

            if (cInfo.king == kIdx)
            {
                cInfo.king = Informations.Instance.kingNum;
                cityFlagsCtrl.SetFlag(c);
            }
        }

        for (int i = 0; i < Informations.Instance.armys.Count; i++)
        {
            ArmyInfo ai = Informations.Instance.armys[i];

            if (ai.king == kIdx)
            {
                ai.king = Informations.Instance.kingNum;
                ai.armyCtrl.SetArmyKingFlag();
            }
        }

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

        kInfo.generals.Clear();
        kInfo.cities.Clear();
        kInfo.active = 0;
    }
Esempio n. 29
0
    void OnOkButton()
    {
        state        = 2;
        isSavingFile = true;

        KingInfo kInfo = Informations.Instance.GetKingInfo(Controller.kingIndex);
        string   str   = ZhongWen.Instance.jindu + ZhongWen.Instance.shuzi[index] + "  ";

        str += ZhongWen.Instance.GetGeneralName1(kInfo.generalIdx) + "  ";
        str += ZhongWen.Instance.chengshu;
        if (kInfo.cities.Count < 10)
        {
            str += "0" + kInfo.cities.Count + "  ";
        }
        else
        {
            str += kInfo.cities.Count + "  ";
        }
        str += ZhongWen.Instance.wujiang;
        if (kInfo.generals.Count < 10)
        {
            str += "00" + kInfo.generals.Count + "  ";
        }
        else if (kInfo.generals.Count < 100)
        {
            str += "0" + kInfo.generals.Count + "  ";
        }
        else
        {
            str += kInfo.generals.Count + "  ";
        }
        str += ZhongWen.Instance.shijian + Controller.historyTime + ZhongWen.Instance.nian;

        records[index].GetComponent <exSpriteFont>().text = str;

        StartCoroutine(SaveFile());
    }
Esempio n. 30
0
    void AddGeneralsInfo()
    {
        int kingIdx = Informations.Instance.GetKingInfo(Controller.kingIndex).generalIdx;

        string   str = GetGeneralInfo(kingIdx);
        ListItem li  = generalsInfoList.AddItem(str);

        li.SetItemData(kingIdx);

        generalsInfoList.SetItemSelected(0, true);

        KingInfo kInfo = Informations.Instance.GetKingInfo(Controller.kingIndex);

        for (int i = 0; i < kInfo.generals.Count; i++)
        {
            int gIdx = (int)kInfo.generals[i];

            if (gIdx != kingIdx)
            {
                li = generalsInfoList.AddItem(GetGeneralInfo(gIdx));
                li.SetItemData(gIdx);
            }
        }
    }
Esempio n. 31
0
    public void SetKingInfo(int idx, KingInfo kInfo)
    {
        if (kings == null)
        {
            kings = new KingInfo[kingNum + 1];
        }

        kings[idx] = kInfo;
    }
Esempio n. 32
0
    /// <summary>
    /// Inits the default kings info.
    /// </summary>
    private void InitDefaultKingsInfo()
    {
        if (kings == null)
        {
            kings = new KingInfo[kingNum + 1];
            for (int i = 0; i < kingNum + 1; i++)
            {
                kings[i] = new KingInfo();
            }
        }

        kings[0].generalIdx = 98;
        kings[1].generalIdx = 134;
        kings[2].generalIdx = 59;
        kings[3].generalIdx = 121;
        kings[4].generalIdx = 71;
        kings[5].generalIdx = 72;
        kings[6].generalIdx = 3;
        kings[7].generalIdx = 156;
        kings[8].generalIdx = 7;
        kings[9].generalIdx = 189;
        kings[10].generalIdx = 79;
        kings[11].generalIdx = 110;
        kings[12].generalIdx = 6;
        kings[13].generalIdx = 132;
        kings[14].generalIdx = 137;
        kings[15].generalIdx = 167;
        kings[16].generalIdx = 172;
        kings[17].generalIdx = 133;
    }