Пример #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
    public void RemoveView(object model, ContainerItemView view)
    {
        var l = dict[model];

        l.Remove(view);
        if (l.Count == 0)
        {
            dict.Remove(model);
        }
    }
Пример #3
0
    public override bool Put(ContainerItemView item)
    {
        if (!(item is ContainerNodeView))
        {
            return(false);
        }
        if (!((ContainerNodeView)item).ReleaseNode())
        {
            return(false);
        }

        item.Release();
        return(true);
    }
Пример #4
0
    public void AddModelView(object model, ContainerItemView view)
    {
        List <ContainerItemView> views;

        if (dict.TryGetValue(model, out views))
        {
            views.Add(view);
        }
        else
        {
            dict.Add(model, new List <ContainerItemView>()
            {
                view
            });
        }
    }
Пример #5
0
    public override bool Put(ContainerItemView item)
    {
        if (item.labelItem != "installed")
        {
            return(false);
        }

        constructor.RemoveTackle(item.transform);


        item.transform.parent.GetComponent <HullBehaviour>().SetTackle(item.transform, SystemLink.Pack(new FakeComponent()));

        tree.GetNode(item.GetModel()).Remove();
        item.Release();
        return(true);
    }
Пример #6
0
    public override bool Put(ContainerItemView item)
    {
        if (GetComponent <ContainerItemView>() != null)
        {
            return(false);
        }
        if (item.labelItem == "free")
        {
            if (((ConstuctorItemView)item).placed)
            {
                return(false);
            }
        }
        else if (item.labelItem == "installed")
        {
            item.transform.position = item.GetComponent <DADItem>().start;
            item.transform.parent.GetComponent <HullBehaviour>().SetTackle(item.transform, SystemLink.Pack(new FakeComponent()));
            constructor.RemoveTackle(item.transform);
        }
        else
        {
            return(false);
        }
        var hull = transform.parent.GetComponent <HullBehaviour>();

        var c = hull.SetTackle(transform, item.GetModel <SystemLink>());

        var citem = c.gameObject.AddComponent <ContainerItemView>();

        citem.SetLabel("installed");
        citem.SetModel(item.GetModel());
        c.gameObject.AddComponent <DADItem>();
        c.gameObject.AddComponent <FreeDragBehaviour>().offset = new Vector3(2, 2, 0);

        if (!constructor.AddTackle(c.transform))
        {
            return(false);
        }

        item.Release();
        return(true);
    }
Пример #7
0
    public override bool Put(ContainerItemView item)
    {
        if (item is ContainerNodeView)
        {
            return(false);
        }
        var pc = item.GetModel();

        if (!(pc is PowerComponent))
        {
            return(false);
        }
        int count = shipSystem.Count();

        if (count >= (int)ScreenManager.currentManager.sharedData["count"])
        {
            return(false);
        }
        FindObjectOfType <ShipBuilderViewsUpdater>().SetCurrentCount(count + 1);
        shipSystem.AddNode(pc);

        item.Release();
        return(true);
    }
Пример #8
0
 void Start()
 {
     transform = GetComponent <RectTransform>();
     container = GetComponent <ContainerItemView>();
 }
Пример #9
0
 public virtual bool Put(ContainerItemView item)
 {
     return(false);
 }
Пример #10
0
 public void AddItem(ContainerItemView item)
 {
     base.AddItem(item.transform);
 }