Пример #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 (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);
    }
Пример #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 void OnPointerEnter(PointerEventData eventData)
    {
        var hit = eventData.pointerCurrentRaycast.gameObject;

        if (hit != gameObject)
        {
            if (hit.GetComponentInParent <TooltipBehaviour>() != this)
            {
                return;
            }
        }

        float x = GetX(transform) + transform.rect.width;

        if (x + tooltip.sizeDelta.x > Screen.width)
        {
            x = GetX(transform) - tooltip.rect.width;
        }

        float y = GetY(transform);

        if (y - tooltip.rect.height < 0)
        {
            y = GetY(transform) + tooltip.rect.height;
        }

        tooltip.position = new Vector2(x, y) + Vector2.Scale(tooltip.pivot, tooltip.rect.size) - new Vector2(0, tooltip.rect.height);

        var ct = tooltip.GetComponent <ContainerItemView>();

        if (ct != null)
        {
            ct.SetModel(container.GetModel());
        }

        tooltip.gameObject.SetActive(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);
    }