override public void SubscribeToPositionUpdate(PositionUpdate positionUpdateFunction) { // SINGLE SUBSCRIBER // If there is already subscriber, unsubscribe them all, and subscribe the new one if (OnPositionUpdate != null && OnPositionUpdate.GetInvocationList().Length > 0) { // Debug.Log ("There is already a subscriber"); OnPositionUpdate = null; } if (currentSubscriber != null) { // Debug.Log ("Reset current subscriber"); currentSubscriber = null; } OnPositionUpdate += positionUpdateFunction; currentSubscriber = positionUpdateFunction.Target as MonoBehaviour; // added on 04 May 2016 // currentSubscriber.transform.position = m_position; // var anglex = transform.rotation.eulerAngles.x; // var angley = currentSubscriber.transform.rotation.eulerAngles.y; // var anglez = transform.rotation.eulerAngles.z; // currentSubscriber.transform.rotation = Quaternion.Euler (anglex, angley, anglez); // followerPosition = currentSubscriber.transform.position; // followerRotation = currentSubscriber.transform.rotation; }
public void NotifyPositionResponse(Position position) { OnPositionUpdate?.Invoke(this, position); }