protected override void OnEnter(params object[] objs) { base.OnEnter(objs); if (objs != null && objs.Length > 0) { _moveCallback = (Action <Character>)objs[0]; } else { _moveCallback = null; } m_Animator.SetInteger("Index", (int)E_AnimatorIndex.Moving); _speedCurve = 0; DOTween.To(() => _speedCurve, s => _speedCurve = s, 1, 0.15f); _runAudio = ""; if (m_Owner.GetType().IsAssignableFrom(typeof(Player))) { _runAudio = PlayerConfig.GetData(m_Owner.Id).RunAudio; } else if (m_Owner.GetType().IsAssignableFrom(typeof(Monster))) { _runAudio = PlayerConfig.GetData(m_Owner.Id).RunAudio; } if (!string.IsNullOrEmpty(_runAudio)) { AudioManager.Instance.PlayAudio(_runAudio, null, true); } }
protected override void RegistAttribute() { base.RegistAttribute(); _cfg = PlayerConfig.GetData(Id); gameObject.name = _cfg.Name; var _hp = new GameRangeAttribute(E_Attribute.Hp.ToString(), 0, _cfg.Hp); m_Hp = AddRangeAttribute(_hp); var _mp = new GameRangeAttribute(E_Attribute.Mp.ToString(), 0, _cfg.Mp, 0.1f); m_Mp = AddRangeAttribute(_mp); var _attack = new GameAttribute(E_Attribute.Atk.ToString(), _cfg.Attack); m_Attack = AddAttribute(_attack); var _moveSpeed = new GameAttribute(E_Attribute.MoveSpeed.ToString(), _cfg.MoveSpeed); m_MoveSpeed = AddAttribute(_moveSpeed); m_CaculateDelta = TimerManager.Instance.AddListener(0, 0.02f, m_MonoAttribute.CaculateRangeDelta, null, true); UIBattleWindow.OnPlayerHpChange(m_Hp.Current, m_Hp.GetMinTotalValue(), m_Hp.GetMaxTotalValue()); UIBattleWindow.OnPlayerMpChange(m_Mp.Current, m_Mp.GetMinTotalValue(), m_Mp.GetMaxTotalValue()); GetRangeAttribute(E_Attribute.Hp.ToString()).OnValueChanged += (delta) => { UIBattleWindow.OnPlayerHpChange(m_Hp.Current, m_Hp.GetMinTotalValue(), m_Hp.GetMaxTotalValue()); }; GetRangeAttribute(E_Attribute.Mp.ToString()).OnValueChanged += (delta) => { UIBattleWindow.OnPlayerMpChange(m_Mp.Current, m_Mp.GetMinTotalValue(), m_Mp.GetMaxTotalValue()); }; GameManager.Player = this; }
private void Start() { var player = MonoBehaviourManager.GetById(PlayerId); if (player == null) { PlayerConfig rCfg = PlayerConfig.GetData(PlayerId); string path = PathManager.RolePrefabsPath + rCfg.Name + "/" + rCfg.Name; var obj = ResourceManager.Load <GameObject>(path); var go = GameObject.Instantiate(obj); go.transform.position = transform.position; DontDestroyOnLoad(go); var character = go.GetComponent <Character>(); MonoBehaviourManager.Add(character); CameraManager.SetFollowTarget(character.transform); } else { player.transform.position = transform.position; CameraManager.SetFollowTarget(player.transform); } }