static int Update(IntPtr L) { LuaScriptMgr.CheckArgsCount(L, 2); PlayerState_BackBlock obj = (PlayerState_BackBlock)LuaScriptMgr.GetNetObjectSelf(L, 1, "PlayerState_BackBlock"); IM.Number arg0 = (IM.Number)LuaScriptMgr.GetNetObject(L, 2, typeof(IM.Number)); obj.Update(arg0); return(0); }
static int OnEnter(IntPtr L) { LuaScriptMgr.CheckArgsCount(L, 2); PlayerState_BackBlock obj = (PlayerState_BackBlock)LuaScriptMgr.GetNetObjectSelf(L, 1, "PlayerState_BackBlock"); PlayerState arg0 = (PlayerState)LuaScriptMgr.GetNetObject(L, 2, typeof(PlayerState)); obj.OnEnter(arg0); return(0); }
protected override void _OnActionDone() { Player target = m_player.m_defenseTarget; if (target != null) { bool bWin = _Competing(m_player, target); if (bWin != isCompeteWin) { isCompeteWin = bWin; m_match.m_context.m_backToBackWinnerId = bWin ? m_player.m_roomPosId : target.m_roomPosId; m_stateMachine.SetState(this, true); PlayerState_BackBlock state = target.m_StateMachine.GetState(State.eBackBlock) as PlayerState_BackBlock; state.m_competor = m_player; target.m_StateMachine.SetState(state, true); } } }
static int _CreatePlayerState_BackBlock(IntPtr L) { int count = LuaDLL.lua_gettop(L); if (count == 2) { PlayerStateMachine arg0 = (PlayerStateMachine)LuaScriptMgr.GetNetObject(L, 1, typeof(PlayerStateMachine)); GameMatch arg1 = (GameMatch)LuaScriptMgr.GetNetObject(L, 2, typeof(GameMatch)); PlayerState_BackBlock obj = new PlayerState_BackBlock(arg0, arg1); LuaScriptMgr.PushObject(L, obj); return(1); } else { LuaDLL.luaL_error(L, "invalid arguments to method: PlayerState_BackBlock.New"); } return(0); }
static int set_m_competor(IntPtr L) { object o = LuaScriptMgr.GetLuaObject(L, 1); PlayerState_BackBlock obj = (PlayerState_BackBlock)o; if (obj == null) { LuaTypes types = LuaDLL.lua_type(L, 1); if (types == LuaTypes.LUA_TTABLE) { LuaDLL.luaL_error(L, "unknown member name m_competor"); } else { LuaDLL.luaL_error(L, "attempt to index m_competor on a nil value"); } } obj.m_competor = (Player)LuaScriptMgr.GetNetObject(L, 3, typeof(Player)); return(0); }
override public void Update(IM.Number fDeltaTime) { base.Update(fDeltaTime); bool bKnocked = false; Player target = m_player.m_defenseTarget; if (m_player.m_toSkillInstance == null) { m_player.m_StateMachine.SetState(State.eStand); return; } if (m_player.moveDirection == IM.Vector3.zero) { m_player.m_StateMachine.SetState(State.eBackToBack, true); return; } IM.Number angle = IM.Vector3.Angle(m_dirPlayerToBasket, m_player.moveDirection); if (angle > new IM.Number(45) || GameUtils.HorizonalDistance(m_player.position, m_basket.m_vShootTarget) < IM.Number.half) { m_player.m_StateMachine.SetState(State.eBackToBack, true); return; } if (target != null) { IM.Vector3 vecPlayerToDefender = target.position - m_player.position; IM.Number dist = vecPlayerToDefender.magnitude; IM.Vector3 dirPlayerToDefender = vecPlayerToDefender.normalized; angle = IM.Vector3.Angle(m_dirPlayerToBasket, dirPlayerToDefender); if (angle <= GlobalConst.BACK_TO_BACK_FAN_ANGLE && dist <= GlobalConst.BACK_TO_BACK_FAN_RADIUS) { State targetState = target.m_StateMachine.m_curState.m_eState; if (targetState == State.eDefense || targetState == State.eRun || targetState == State.eStand) { m_player.m_toSkillInstance = m_curExecSkill; m_stateMachine.SetState(State.eBackCompete, true); PlayerState_BackBlock state = target.m_StateMachine.GetState(State.eBackBlock) as PlayerState_BackBlock; state.m_competor = m_player; target.m_StateMachine.SetState(state, true); return; } else if (targetState == State.eStand || targetState == State.eRun || targetState == State.eRush) { Debug.Log("Defender state: " + targetState); bKnocked = true; } } } if (bKnocked && target != null) { target.m_StateMachine.SetState(State.eKnocked, true); } PlayerMovement.MoveAttribute attr = m_player.mMovements[(int)PlayerMovement.Type.eBackToBackRun].mAttr; m_player.MoveTowards(m_dirPlayerToBasket, IM.Number.zero, fDeltaTime, m_dirPlayerToBasket * attr.m_initSpeed); }