Example #1
0
 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);
     }
 }
Example #2
0
    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;
    }
Example #3
0
    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);
        }
    }