protected void Start() { m_animationComponent = GetComponent <PlayerAnimation>(); Debug.Assert(m_animationComponent != null, "Error: el componente animacion no existe"); m_animationComponent.RegisterOnAnimationEvent = OnAnimationFinish; SendMessage("OnChangeWeapon", m_activeWeapon, SendMessageOptions.DontRequireReceiver); // TODO 1 : Registramos RegisterChangeWeapon en el input controller del inputmgr con el event ChangeWeapon //Cogemos el inputmgr InputMgr inputMgr = GameMgr.GetInstance().GetServer <InputMgr>(); Debug.Assert(inputMgr != null, "Error: el componente InputMgr no existe"); //Cogemos el controlador del pointAndClick PointAndClickInput m_pointInput = inputMgr.GetInput <PointAndClickInput>(); Debug.Assert(m_pointInput != null, "Error: el componente PointAndClickInput no existe"); //Registramos ChangeeWeapon en el m_pointController m_pointInput.RegisterChangeWeapon(this.ChangeWeapon); foreach (TWeapons wp in m_weapons) { wp.gameObject.SetActive(false); } m_weapons[m_activeWeapon].gameObject.SetActive(true); m_animationComponent.ChangeOverrideAnimatorController(m_weapons[m_activeWeapon].AnimationController); }