Exemplo n.º 1
0
    void InitTurnTable()
    {
        armyConfigList = new List <ArmyConfig>();
        for (int i = 1; i <= 12; i++)
        {
            int        index  = i + 20;
            ArmyConfig config = new ArmyConfig
            {
                level      = i,
                image_name = "Army_Model_" + index,
                name       = i + "级将军"
            };
            armyConfigList.Add(config);
        }

        //Unity卡死问题
        amount = max;
        int defaultIndex = this.GetDefaultSelectedSoldier();

        currentArmyConfig = armyConfigList[defaultIndex];
        turnTable.SetAdapter(new TroopTypeAdapter(armyConfigList, soldierItemPrefab), true);
        turnTable.selectedListener     += OnSelectedChanged;
        turnTable.scrollStatusListener += OnScrollStatusChanged;
        turnTable.SetSelected(defaultIndex);
    }
Exemplo n.º 2
0
        private void OnMapChanged(int value)
        {
            config.map = R.asset.maps.defaultMaps[value];

            // Show map to map preview and map description

            ArmyConfig.OnMapChanged(config.map);
        }
Exemplo n.º 3
0
            private static void OnColorChanged(ArmyConfig cfg, Army.Color oldColor, Army.Color newColor)
            {
                var opt = new Dropdown.OptionData(oldColor.ToString());

                foreach (var c in instance.armyConfigs)
                {
                    if (c != cfg && c.isOn)
                    {
                        int index = c.colorList.IndexOf(newColor);
                        c.colorList[index]           = oldColor;
                        c.selectColor.options[index] = opt;
                    }
                }
            }
Exemplo n.º 4
0
    public void SetArmyConfig(int index, ArmyConfig config)
    {
        string path = @"file://" + Application.dataPath + @"/Resources/Images/TrainTroop/Army/" + config.image_name + ".png";

        StartCoroutine(KSLoadImage.LoadImage(image, path));
    }
Exemplo n.º 5
0
 private void OnSelectedChanged(int index)
 {
     currentArmyConfig = armyConfigList[index];
     info.UpdateInfo(currentArmyConfig.level, currentArmyConfig.name);
 }
Exemplo n.º 6
0
            // =====================  EVENTS  ===================================

            private static void OnIsOnChanged(ArmyConfig cfg, bool value)
            {
                if (value)
                {
                    // Show army config

                    // Check group
                    List <Army.Group> currentList = null;
                    foreach (var c in instance.armyConfigs)
                    {
                        if (c != cfg && c.isOn)
                        {
                            currentList = c.groupList; break;
                        }
                    }

                    if (currentList == null)
                    {
                        currentList = new List <Army.Group>();
                    }
                    var mapGroups = new List <Army.Group>();
                    int length    = instance.config.map.armyColors.Length;
                    for (int i = 0; i < length; ++i)
                    {
                        mapGroups.Add((Army.Group)i);
                    }

                    var freeGroups = new List <Army.Group>();
                    foreach (var group in mapGroups)
                    {
                        if (!currentList.Contains(group))
                        {
                            freeGroups.Add(group);
                        }
                    }

                    var freeGroup = freeGroups[0];
                    var opt       = new Dropdown.OptionData(freeGroup.ToString());
                    cfg.group = freeGroup;
                    cfg.selectGroup.options = new List <Dropdown.OptionData>()
                    {
                        opt
                    };
                    foreach (var group in currentList)
                    {
                        cfg.selectGroup.options.Add(new Dropdown.OptionData(group.ToString()));
                    }
                    cfg.groupList = new List <Army.Group>()
                    {
                        freeGroup
                    };
                    cfg.groupList.AddRange(currentList);
                    foreach (var c in instance.armyConfigs)
                    {
                        if (c != cfg && c.isOn)
                        {
                            c.selectGroup.options.Add(opt);
                            c.groupList.Add(freeGroup);
                        }
                    }

                    // Check color
                    List <Army.Color> freeColors = null;
                    foreach (var c in instance.armyConfigs)
                    {
                        if (c != cfg && c.isOn)
                        {
                            freeColors = new List <Army.Color>(c.colorList);
                            freeColors.Remove(c.color);
                            break;
                        }
                    }

                    if (freeColors == null)
                    {
                        freeColors = new List <Army.Color>(instance.config.map.armyColors);
                    }
                    cfg._color              = freeColors[0];
                    cfg.panel.color         = InfoUI.armyColors[cfg.color];
                    opt                     = new Dropdown.OptionData(cfg.color.ToString());
                    cfg.selectColor.options = new List <Dropdown.OptionData>()
                    {
                        opt
                    };
                    cfg.colorList = new List <Army.Color>()
                    {
                        cfg.color
                    };
                    foreach (var color in freeColors)
                    {
                        if (color != cfg.color)
                        {
                            cfg.selectColor.options.Add(new Dropdown.OptionData(color.ToString()));
                            cfg.colorList.Add(color);
                        }
                    }

                    foreach (var c in instance.armyConfigs)
                    {
                        if (c != cfg && c.isOn)
                        {
                            int index = c.colorList.IndexOf(cfg.color);
                            c.colorList.RemoveAt(index);
                            c.selectColor.options.RemoveAt(index);
                        }
                    }
                }
                else
                {
                    // Hide army config

                    // Check group
                    var currentOtherGroups = new List <Army.Group>();
                    foreach (var c in instance.armyConfigs)
                    {
                        if (c.isOn)
                        {
                            currentOtherGroups.Add(c.group);
                        }
                    }

                    var freeGroups = new List <Army.Group>();
                    foreach (var group in cfg.groupList)
                    {
                        if (!currentOtherGroups.Contains(group))
                        {
                            freeGroups.Add(group);
                        }
                    }

                    var freeGroup = freeGroups[0];
                    foreach (var c in instance.armyConfigs)
                    {
                        if (c.isOn)
                        {
                            c.selectGroup.options.RemoveAt(c.groupList.IndexOf(freeGroup));
                            c.groupList.Remove(freeGroup);
                        }
                    }

                    // Check color
                    var opt = new Dropdown.OptionData(cfg.color.ToString());
                    foreach (var c in instance.armyConfigs)
                    {
                        if (c.isOn)
                        {
                            c.selectColor.options.Add(opt);
                            c.colorList.Add(cfg.color);
                        }
                    }
                }
            }