static int OnExit(IntPtr L) { LuaScriptMgr.CheckArgsCount(L, 1); PlayerState_PrepareToShoot obj = (PlayerState_PrepareToShoot)LuaScriptMgr.GetNetObjectSelf(L, 1, "PlayerState_PrepareToShoot"); obj.OnExit(); return(0); }
static int Update(IntPtr L) { LuaScriptMgr.CheckArgsCount(L, 2); PlayerState_PrepareToShoot obj = (PlayerState_PrepareToShoot)LuaScriptMgr.GetNetObjectSelf(L, 1, "PlayerState_PrepareToShoot"); 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_PrepareToShoot obj = (PlayerState_PrepareToShoot)LuaScriptMgr.GetNetObjectSelf(L, 1, "PlayerState_PrepareToShoot"); PlayerState arg0 = (PlayerState)LuaScriptMgr.GetNetObject(L, 2, typeof(PlayerState)); obj.OnEnter(arg0); return(0); }
public void OnPrepareToShoot() { PlayerState ps = _owner.m_StateMachine.m_curState; if (ps.m_eState != PlayerState.State.ePrepareToShoot) { return; } PlayerState_PrepareToShoot preparation = ps as PlayerState_PrepareToShoot; preparation.OnPrepareToShoot(); m_listeners.ForEach(delegate(Listener lsn){ lsn.OnEvent(AnimEvent.ePrepareToShoot, _owner); } ); }
static int _CreatePlayerState_PrepareToShoot(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_PrepareToShoot obj = new PlayerState_PrepareToShoot(arg0, arg1); LuaScriptMgr.PushObject(L, obj); return(1); } else { LuaDLL.luaL_error(L, "invalid arguments to method: PlayerState_PrepareToShoot.New"); } return(0); }
static int get_mCachedShootSkill(IntPtr L) { object o = LuaScriptMgr.GetLuaObject(L, 1); PlayerState_PrepareToShoot obj = (PlayerState_PrepareToShoot)o; if (obj == null) { LuaTypes types = LuaDLL.lua_type(L, 1); if (types == LuaTypes.LUA_TTABLE) { LuaDLL.luaL_error(L, "unknown member name mCachedShootSkill"); } else { LuaDLL.luaL_error(L, "attempt to index mCachedShootSkill on a nil value"); } } LuaScriptMgr.PushObject(L, obj.mCachedShootSkill); return(1); }
static int set_mCanShoot(IntPtr L) { object o = LuaScriptMgr.GetLuaObject(L, 1); PlayerState_PrepareToShoot obj = (PlayerState_PrepareToShoot)o; if (obj == null) { LuaTypes types = LuaDLL.lua_type(L, 1); if (types == LuaTypes.LUA_TTABLE) { LuaDLL.luaL_error(L, "unknown member name mCanShoot"); } else { LuaDLL.luaL_error(L, "attempt to index mCanShoot on a nil value"); } } obj.mCanShoot = LuaScriptMgr.GetBoolean(L, 3); return(0); }
public void CommandToAction(Command cmd) { if (!m_enable) { return; } //特殊处理:自动盯防生效时,加速键显示,但无效 if (m_player.m_team.m_role == GameMatch.MatchRole.eDefense && _autoDefTakeOver.InTakeOver && cmd == Command.Rush) { return; } curCommand = cmd; //if( !(GameSystem.Instance.mClient.mCurMatch is GameMatch_PVP) ) { if (m_player.m_StateMachine.assistAI != null) { m_player.m_StateMachine.assistAI.curCommand = cmd; } } //buffer command PlayerState curState = m_player.m_StateMachine.m_curState; if (curState is PlayerState_Skill) { Command curCmd = Command.None; if (curState.m_curExecSkill != null) { curCmd = (Command)curState.m_curExecSkill.skill.action_type; } //Debug.Log("Cur skill type:" + curCmd); if (cmd != curCmd) { if (cmd != bufferedCommand) { //Debug.Log("Buffer command:" + cmd); bufferedCommand = cmd; bufferedTime = COMMAND_BUFFER_TIME; } } else { if (cmd == bufferedCommand) { //Debug.Log("Clear buffer command for casted."); bufferedCommand = Command.None; } } } /* * if (cmd == Command.Boxout) * { * m_player.m_StateMachine.SetState(PlayerState.State.eBoxout); * return; * } */ if (cmd == Command.Switch) { GameMatch_MultiPlayer match = m_match as GameMatch_MultiPlayer; if (match != null) { match.OnSwitch(m_player.m_team.m_side); } } //for prepare shoot if (cmd == Command.Shoot && curState.m_eState == PlayerState.State.ePrepareToShoot) { //m_player.m_bToShoot = true; PlayerState_PrepareToShoot prepareShoot = m_player.m_StateMachine.GetState(PlayerState.State.ePrepareToShoot) as PlayerState_PrepareToShoot; m_player.m_toSkillInstance = prepareShoot.mCachedShootSkill; return; } if (cmd == Command.Pass) { if (m_player.m_passTarget == null) { m_player.m_passTarget = PassHelper.ChoosePassTarget(m_player); } } SkillInstance skill = m_player.m_skillSystem.GetValidSkillInMatch(cmd); //Debug.Log( Time.frameCount + "skill: " + (skill != null ? skill.skill.name : "NULL" )); if (skill == null) { //Debug.LogError("Can not get valid skill, check config."); return; } //failed to dunk /* * if( (Command)skill.skill.action_type == Command.Dunk || (Command)skill.skill.action_type == Command.Layup ) * { * if( m_player.m_defenseTarget != null ) * { * Player nearestValidDefender = null; * float fNearestDist = float.MaxValue; * foreach(Player pl in m_player.m_defenseTarget.m_team) * { * if( m_player.m_AOD.GetStateByPos(pl.position) != AOD.Zone.eInvalid ) * { * float fDist = GameUtils.HorizonalDistance(m_player.position, pl.position); * if( fDist > fNearestDist ) * continue; * fNearestDist = fDist; * nearestValidDefender = pl; * } * } * if( nearestValidDefender != null ) * { * float fDist = GameUtils.HorizonalDistance(m_player.position, nearestValidDefender.position); * if( fDist < skill.skill.attrange ) * { * //if( !m_player.m_bSimulator ) * // m_player.m_StateMachine.SetState(PlayerState.State.eLayupFailed); * if( !m_player.m_bSimulator ) * ShootHelper.ShootByArea(m_player, GameSystem.Instance.mClient.mCurMatch); * return; * } * } * } * } */ skill.curInput.inputType = InputDirType.eBasket; skill.curInput.cmd = cmd; skill.curInput.moveDir = m_player.m_inputDispatcher.GetMoveDirection(InputDirType.eBasket); /* * SkillInput input = skill.curAction.inputs[0]; * if( (Command)skill.skill.action_type == Command.CrossOver && input.moveDir == EDirection.eNone ) * { * Player defender = m_player.m_defenseTarget; * if (defender != null) * { * Vector3 dirPlayerToDefenser = (defender.position - m_player.position).normalized; * float angle = Quaternion.FromToRotation(dirPlayerToDefenser, m_player.right).eulerAngles.y; * bool horiCross = (45f < angle && angle < 135f); * bool left = angle < 90f || angle > 270f; * List<SkillInstance> crossSkills = m_player.m_skillSystem.GetSkillList(SkillType.ACTIVE, Command.CrossOver); * SkillInstance inst = AIUtils.ChooseCrossSkill(crossSkills, horiCross, left); * if (m_player.m_stamina.m_curStamina.ToUnity() >= (float)inst.skill.levels[inst.level].stama ) * skill = inst; * } * } */ m_player.m_toSkillInstance = skill; Debug.Log("skill id: " + m_player.m_toSkillInstance.skill.id); }