예제 #1
0
    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);
    }
예제 #2
0
    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;
    }