public override bool Place() { if (item as Object && !selectedLinkables.Contains(item)) { if (selectedLinkables.Count == 0) { selectedLinkables.Add(item); linkedFirerate = item.Weapon.GetFirerate(); linkTransforms = new List <Transform> (); linkTransforms.Add(lastTransform); return(false); } else if (Mathf.Approximately(linkedFirerate, item.Weapon.GetFirerate())) { selectedLinkables.Add(item); LinkedFire.Link(selectedLinkables.ToArray()); linkTransforms.Add(lastTransform); UpdateLinkLine(); return(false); } } Done(); return(true); }
public static void Link(params ILinkable[] newLinkables) { foreach (ILinkable linkable in newLinkables) { if (linkable.Link != null) { linkable.Link.Destroy(); } } LinkedFire newLink = new LinkedFire(); foreach (ILinkable linkable in newLinkables) { newLink.AddLinkable(linkable); } newLink.linkIndex = 0; }