Пример #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 override bool Put(ContainerItemView item)
    {
        if (!(item is ContainerNodeView))
        {
            return(false);
        }
        if (!((ContainerNodeView)item).ReleaseNode())
        {
            return(false);
        }

        item.Release();
        return(true);
    }
Пример #3
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);
    }
Пример #4
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);
    }
Пример #5
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);
    }