Пример #1
0
    public override bool Put(ContainerItemView item)
    {
        ContainerNodeView root = GetComponent <ContainerNodeView>();

        if (item is ContainerNodeView)
        {
            if (((Tuple <string, SystemComponent>)item.GetModel()).Item2 is PowerComponent)
            {
                return(false);
            }
            root.AddNode <ContainerNodeView>((ContainerNodeView)item);
        }
        else
        {
            if (item.GetModel() is PowerComponent)
            {
                return(false);
            }
            int count = root.GetTree().Count();
            if (count >= (int)ScreenManager.currentManager.sharedData["count"])
            {
                return(false);
            }
            FindObjectOfType <ShipBuilderViewsUpdater>().SetCurrentCount(count + 1);
            root.AddNode(item.GetModel());

            item.Release();
        }
        return(true);
    }
Пример #2
0
 protected virtual SystemLink GetLink(ContainerNodeView node)
 {
     if (node is SystemComponentView)
     {
         return(SystemLink.Pack(((SystemComponentView)node).GetItem()));
     }
     else
     {
         return(SystemLink.Pack(new FakeComponent()));
     }
 }
Пример #3
0
    protected override SystemLink GetLink(ContainerNodeView node)
    {
        var l = node.GetModel();

        if (l == null)
        {
            return(SystemLink.Pack(new FakeComponent()));
        }
        else
        {
            return(SystemLink.Pack(((SystemLink)l).item));
        }
    }
Пример #4
0
 public bool RemoveNode(ContainerNodeView node)
 {
     return(tree.RemoveTree(node));
 }
Пример #5
0
 public void AddNode(ContainerNodeView node)
 {
     node.transform.SetParent(content);
     tree.AddTree(node);
     UpdateNodes();
 }