public void RangeListener(RangeParams @params) { GameObject target = GameObject.Find(@params.objectToDetect); Vector2 myPosition = gameObject.transform.position; Vector2 enPosition = target.transform.position; float distance = Vector2.Distance(myPosition, enPosition); //Debug.Log(myPosition + " " + enPosition + " " + distance); if (@params.distance >= distance) { anim.SetBool(@params.boolToEnable, true); anim.SetBool(@params.boolToDisable, false); } }
override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { var value = new RangeParams(objectToDetect, distance, boolToEnable, boolToDisable); animator.gameObject.SendMessage("RangeListener", value); }