private void PrepareScript() { if (null == TargetGameObject) { TargetGameObject = GameObject.FindGameObjectWithTag(TargetTag); if (null == TargetGameObject) { this.enabled = false; return; } } mPlayerDirectionDispatcher = (IPlayerDirectionDispatcher)TargetGameObject.GetComponent(typeof(IPlayerDirectionDispatcher)); if (null != mPlayerDirectionDispatcher) { mPlayerDirectionDispatcher.PlayerDirectionChanged += OnPlayerDirectionChanged; } if (null == mTransform) { mTransform = transform; } mDistanceFromTarget = DistanceFromTarget; mTargetOffset = Offset; mCentralizedPosition = GetTargetPosition(); mTransform.position = mCentralizedPosition; mTransform.LookAt(mTargetPosition); mTransform.Translate(mTargetOffset); }
private void OnPlayerDirectionChanged(IPlayerDirectionDispatcher sender, PlayerDirectionEventArgs e) { PlayerDirection = e.PlayerFacingRight; }