예제 #1
0
    public bool AddPrisonsList()
    {
        int king = Controller.kingIndex;

        for (int i = 0; i < Informations.Instance.generalNum; i++)
        {
            GeneralInfo gInfo = Informations.Instance.GetGeneralInfo(i);

            if (gInfo.prisonerIdx == king)
            {
                havePrison = true;

                ListItem li = prisonerList.AddItem(ZhongWen.Instance.GetGeneralName1(i));
                li.SetItemData(i);
                if (gInfo.active == 0)
                {
                    li.SetSelectEnable(false);
                }
            }
        }

        if (!havePrison)
        {
            kingDialogue.SetDialogue(Informations.Instance.GetKingInfo(king).generalIdx, ZhongWen.Instance.zhaoxiang_no, MenuDisplayAnim.AnimType.InsertFromBottom);
        }

        return(havePrison);
    }
예제 #2
0
        private void Start()
        {
            new GetGames().Execute().Subscribe(games =>
            {
                games.Sort((a, b) => - (a.Order - b.Order));
                foreach (var game in games)
                {
                    _gameList.AddItem(GetConfiguration(game)).Subscribe(_ =>
                    {
                        switch (game.State)
                        {
                        case GameState.Invited:
                            new AcceptGameInvitation(game).Execute()
                            .Subscribe(__ =>
                            {
                                ViewManager.Main.Back();
                            }, exception =>
                            {
                                PopupManager.Main.ShowPopup(exception.Message);
                            });
                            break;

                        case GameState.YourTurn:
                        case GameState.TheirTurn:
                            ViewManager.Main.ViewParameters["selected_game"] = game;
                            ViewManager.Main.ChangeView("Board");
                            break;
                        }
                    }).AddTo(this);
                }
            }).AddTo(this);
        }
예제 #3
0
    public void AddCityTarget(int city)
    {
        string cityName = ZhongWen.Instance.GetCityName(city);

        if (cityName.Length == 1)
        {
            cityName = "  " + cityName + "  " + "  " + ZhongWen.Instance.chengTarget;
        }
        else
        {
            cityName = cityName[0] + "  " + cityName[1] + "  " + ZhongWen.Instance.chengTarget;
        }

        TargetData data = new TargetData(0, city);
        ListItem   item = targetList.AddItem(cityName);

        item.SetItemData(data);
    }
예제 #4
0
 void AddKingList()
 {
     for (int i = 0; i < Informations.Instance.kingNum; i++)
     {
         if (Informations.Instance.GetKingInfo(i).active == 1)
         {
             kingList.AddItem(ZhongWen.Instance.GetGeneralName1(Informations.Instance.GetKingInfo(i).generalIdx)).SetItemData(i);
         }
     }
 }
    public void AddGeneralsList(List <int> generals)
    {
        gameObject.SetActive(true);

        for (int i = 0; i < generals.Count; i++)
        {
            int gIdx = generals[i];
            generalsList.AddItem(ZhongWen.Instance.GetGeneralName1(gIdx)).SetItemData(gIdx);
        }
    }
예제 #6
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);
            }
        }
    }
예제 #7
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);
                }
            }
        }
    }
예제 #8
0
    public void AddGeneralsList(int cIdx)
    {
        mode = 0;
        gameObject.SetActive(true);

        CityInfo cInfo = Informations.Instance.GetCityInfo(cIdx);

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

            if (gIdx != Informations.Instance.GetKingInfo(Controller.kingIndex).generalIdx)
            {
                continue;
            }

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

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

            if (gIdx == Informations.Instance.GetKingInfo(Controller.kingIndex).generalIdx)
            {
                continue;
            }

            generalsList.AddItem(ZhongWen.Instance.GetGeneralName1(gIdx)).SetItemData(gIdx);
        }
    }
예제 #9
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);
            }
        }
    }
예제 #10
0
    void AddGeneralsList()
    {
        int kingIdx = Informations.Instance.GetKingInfo(Controller.kingIndex).generalIdx;

        generalsList.AddItem(ZhongWen.Instance.GetGeneralName1(kingIdx)).SetItemData(kingIdx);

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

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

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

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

            if (gIdx != kInfo.generalIdx)
            {
                generalsList.AddItem(ZhongWen.Instance.GetGeneralName1(gIdx)).SetItemData(gIdx);
            }
        }
    }
예제 #11
0
        public void AddItemTest()
        {
            // Arrange
            MockRepo                repo      = new MockRepo();
            ListController          ctrl      = new ListController(repo);
            IEnumerable <IListItem> testList1 = ctrl.GetListItems();
            int size1 = testList1.Count();

            // Act
            ctrl.AddItem(new ToDoItem("test 333"));
            IEnumerable <IListItem> testList2 = ctrl.GetListItems();
            int size2 = testList2.Count();

            // Assert
            Assert.AreEqual(size1 + 1, size2);
        }
예제 #12
0
        private void Start()
        {
            new GetFriends().Execute().Subscribe(friends =>
            {
                friends.Sort((a, b) => - (a.Order - b.Order));
                foreach (var friend in friends)
                {
                    _friendList.AddItem(GetConfiguration(friend))
                    .Subscribe(_ =>
                    {
                        switch (friend.State)
                        {
                        case FriendState.Accepted:
                            new CreateGame(friend).Execute()
                            .Subscribe(__ =>
                            {
                                ViewManager.Main.Back();
                            }, exception =>
                            {
                                ViewManager.Main.Back();
                                PopupManager.Main.ShowPopup(exception.Message);
                            });
                            break;

                        case FriendState.Invitation:
                            new AcceptFriendInvitation(friend).Execute()
                            .Subscribe(__ =>
                            {
                                ViewManager.Main.Back();
                            }, exception =>
                            {
                                ViewManager.Main.Back();
                                PopupManager.Main.ShowPopup(exception.Message);
                            });
                            break;
                        }
                    }).AddTo(this);
                }
            }).AddTo(this);

            _requestFriendButton.OnClickAsObservable().SelectMany(_ =>
            {
                return(new InviteFriend(_friendNameInput.text).Execute());
            }).Subscribe(_ => { },
                         exception => PopupManager.Main.ShowPopup(exception.Message))
            .AddTo(this);
        }
예제 #13
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);
    }
예제 #14
0
    public override void Show()
    {
        base.Show();
        matchesList.Clear();
        string fullDirectoryPath = Application.dataPath + "/" + matchDataFolder;

        matchNotFound.SetActive(true);
        try
        {
            DirectoryInfo matchDataInfo = new DirectoryInfo(fullDirectoryPath);
            //Debug.Log(fullPath);
            if (matchDataInfo != null)
            {
                FileInfo[] matchFiles = matchDataInfo.GetFiles();
                foreach (FileInfo fileInfo in matchFiles)
                {
                    if (fileInfo.Extension.ToLower() == ".json")
                    {
                        matchNotFound.SetActive(false);
                        matchesList.AddItem(fileInfo.Name, delegate()
                        {
                            if (matchPlayerController.LoadJSON(fileInfo.FullName))
                            {
                                if (rightPanelManager && matchPlayerPanelController)
                                {
                                    rightPanelManager.ShowPanel(matchPlayerPanelController);
                                    if (currentMatchButtonContainer)
                                    {
                                        currentMatchButtonContainer.SetActive(true);
                                    }
                                }
                            }
                        });
                    }
                }
                matchesList.RefreshList();
            }
        }
        catch (Exception ex)
        {
        }
    }
예제 #15
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);
    }
예제 #16
0
 public void AddToList(T content)
 {
     controller.AddItem(content);
 }