18.Unity3D商业游戏源码研究-变身吧主公-战斗-MainPlayerStateAttack

来源:互联网 发布:手机淘宝如何注册店铺 编辑:程序博客网 时间:2024/05/13 18:09
using UnityEngine;using System.Collections;using DG.Tweening;public class MainPlayerStateAttack : StateBase {    public MainPlayerStateAttack(PlayerBase player)        : base(player)    {    }    public override uint GetStateID()    {        return StateDef.attack;    }    public override void OnEnter(StateMachine machine, IState prevState, object param1, object param2)    {        Debug.Log("attack1");        //mPlayer.Play("attack1");        Vector3 v3 = mPlayer.OtherRole[0].transform.position - new Vector3(1f, 0, 0);        Tween tw = mPlayer.transform.DOMove(v3, 0.3f);        tw.OnComplete(delegate()        {            mPlayer.Play("attack1");        });    }    public override void OnLeave(IState nextState, object param1, object param2)    {        GameServerMgr.GetInstance().RequsterNotifier(CombatDef.AttackOver, mPlayer, nextState.GetStateID());    }    public override void OnUpate()    {    }    public override void OnFixedUpdate()    {    }    public override void OnLeteUpdate()    {    }    public override void OnAnimationAttackOver(string clipName)    {        Debug.Log("OnAnimationAttackOver");        mPlayer.OtherRole[0].SwitchState(StateDef.hit);    }    public override void OnAnimationEventEnd(string clipName)    {        mPlayer.transform.DOLocalMove(Vector3.zero, 0.3f).OnComplete(delegate()         {            mPlayer.SwitchState(StateDef.idle);        });    }}
0 0