예제 #1
0
 public override void OnSlide(params object[] args)
 {
     list.Clear();
     if (showFour)
     {
         list.AddRange(GameResources.GetAllShiphulls().Select(h => h.name));
     }
     else
     {
         list.AddRange(GameResources.GetAllShiphulls().Where(h => h.shipClass != 4).Select(h => h.name));
     }
 }
예제 #2
0
    protected override void OnSetModel(ref object model)
    {
        list.Clear();

        SystemComponent sc;

        if (model is Tuple <string, SystemComponent> )
        {
            sc = ((Tuple <string, SystemComponent>)model).Item2;

            energyIndicator.gameObject.SetActive(true);
        }
        else
        {
            sc = (SystemComponent)model;
            energyIndicator.gameObject.SetActive(false);
        }



        foreach (var i in sc.GetInfo())
        {
            list.AddItem(null, f => ((FieldView)f).SetField(i.Name, i.Value));
        }


        var config = sc.GetConfig();

        foreach (var c in config.GetNames())
        {
            list.AddItem(null, f => ((FieldView)f).SetField(c, config.GetField(c).ToString()));
        }
    }
예제 #3
0
    public override void OnSlide(params object[] args)
    {
        screenSlider.sharedData.Clear();

        ships.Clear();
        ships.AddRange(GameResources.GetShipsNames());
    }
예제 #4
0
    public void SetUI(LinksGroup[] groups)
    {
        linkGroups.Clear();

        linkGroups.AddRange(groups);

        this.groups = groups.Select(g => mvb.GetView <LinksGroupViewBehaviour>(g.link)).ToArray();

        theme.UpdateTheme();
    }
예제 #5
0
    public override void OnSlide(params object[] args)
    {
        inventory.Clear();
        string buildMode = (string)screenSlider.sharedData["BuildMode"];

        switch (buildMode)
        {
        case "edit":
            string shipName = (string)screenSlider.sharedData["shipName"];
            if (shipName != "")
            {
                var model = (ShipSystemModel)screenSlider.sharedData["ShipModel"];
                var kc    = model.system.BuildForest(n => new TreeNode <Tuple <string, SystemComponent> >(new Tuple <string, SystemComponent>("", n.item)));
                model.GetKeys(kc, (n, k) => n.item.Item1 = k);

                systemTree.SetTree(kc.BuildForest(n => new TreeNode <object>(n.item)));

                screenSlider.sharedData.Add("hullName", model.hull.hullName);
            }
            else
            {
                throw new System.Exception("shipName's null. Please put shipName arg to the sharedData if you want edit ship.");
            }
            break;

        case "new":
            break;

        case "free":
            break;
        }

        var hull = GameResources.GetShipHull((string)screenSlider.sharedData["hullName"]);

        inventory.AddRange(Enumerable.Range(0, 5).SelectMany(i => Inventory.GetExamples(i)).Concat(Inventory.GetBaseExamples(hull.shipClass)).Select(c => new InfiniteStack <SystemComponent>(c)));

        var count = hull.GetTackleCount();

        screenSlider.sharedData.Add("count", count);
        countText.text = "0 / " + count.ToString();
    }
예제 #6
0
 protected override void OnSetModel(ref object model)
 {
     string[] arr = (string[])model;
     list.Clear();
     list.AddRange((string[])model);
     for (int i = 0; i < arr.Length; i++)
     {
         int index = i;
         ((StringInputContainerView)list.GetItem(i)).onValueChanged += s => arr[index] = s;
     }
     UpdateValue((string[])model);
 }
예제 #7
0
    protected override void OnSetModel(ref object model)
    {
        Campaign.Stage stage = (Campaign.Stage)model;

        storyText.text = stage.storyString;

        choiseList.Clear();
        foreach (var s in stage.forwardStages)
        {
            choiseList.AddItem(s);
        }
    }
예제 #8
0
 void UpdateView()
 {
     stage.SetModel(campaign.current);
     resourceList.Clear();
     resourceList.AddRange(campaign.resources);
 }