public void Pair(PairTarget target) { //Notify target game object if (target != null) { target.SendMessage("OnPair", this, SendMessageOptions.DontRequireReceiver); } else { pairedTo.SendMessage("OnUnpair", this, SendMessageOptions.DontRequireReceiver); } pairedTo = target; lastPaired = Time.time; RenderPair(); /* * Debug.Log(target!=null? * "Pairable: "+gameObject.name+" ("+trackingTag+") paired with \""+ * target.pivot.gameObject.name+"\"": * "Pairable: "+gameObject.name+" ("+trackingTag+") unpaired", * this * ); */ }
public void DeregisterTarget(PairTarget target) { targets.Remove(target); }
//Override to modify targeting validation public virtual bool CanTarget(PairTarget target) { return((!paired || pairedTo == target) && //Don't pair with another target's pairable Time.time - lastPaired > cooldown); }
public void RegisterTarget(PairTarget target) { targets.Add(target); }