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); }
public void RemoveView(object model, ContainerItemView view) { var l = dict[model]; l.Remove(view); if (l.Count == 0) { dict.Remove(model); } }
public override bool Put(ContainerItemView item) { if (!(item is ContainerNodeView)) { return(false); } if (!((ContainerNodeView)item).ReleaseNode()) { return(false); } item.Release(); return(true); }
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 }); } }
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); }
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); }
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); }
void Start() { transform = GetComponent <RectTransform>(); container = GetComponent <ContainerItemView>(); }
public virtual bool Put(ContainerItemView item) { return(false); }
public void AddItem(ContainerItemView item) { base.AddItem(item.transform); }