/// <summary> /// 当网络返回,逻辑正确的时候 /// </summary> /// <param name="request">Request.</param> /// <param name="response">Response.</param> public override void Http_OnReceive_OK(BaseHttpRequest request, BaseResponse response) { base.Http_OnReceive_OK(request, response); HttpRequest req = request as HttpRequest; if (req != null) { //跳转场景,进入游戏 if (req.Type == RequestType.LOGIN_GAME) { AccountData ad = Native.mInstace.m_thridParty.GetAccountData(); EngineModel engineModel = Core.Data.getIModelNetwork <EngineModel>(); Server chosen = engineModel.ChosenServer; StateParam <GameState> state = new StateParam <GameState>(); LoginInfo info = new LoginInfo() { UniqueId = ad.uniqueId, curServer = chosen.name, LocalIOMgr = Core.DPM, logUtc = 123244123, }; state.obj = info; Core.GameFSM.handleStateChg(state, GameState.Logined); readComplete(); } } }
public void OnUnregister(StateParam <GameState> obj) { if (HttpDataNo != null) { HttpDataNo.Clear(); } }
public bool addState(PLAYER_STATE type, StateParam param) { if (mCurStateList.ContainsKey(type)) { return(false); } // 创建状态,并且判断是否可以进入该状态,不能进入则直接返回 PlayerState state = createState(type); state.setPlayer(mPlayer); if (!state.canEnter()) { return(false); } // 先移除不能共存的状态 Dictionary <PLAYER_STATE, PlayerState> tempList = new Dictionary <PLAYER_STATE, PlayerState>(mCurStateList); foreach (var item in tempList) { if (!canCoExist(item.Key, type)) { removeState(item.Key); } } // 进入状态,并添加到状态列表 state.enter(param); mCurStateList.Add(type, state); // 通知角色有状态添加 mPlayer.notifyStateChanged(); return(true); }
public bool addState(Type type, StateParam param, out PlayerState state, float stateTime, uint id = 0) { state = createState(type, param, id); state.setPlayer(mPlayer); if (stateTime >= 0.0f) { state.setStateMaxTime(stateTime); state.setStateTime(stateTime); } if (!canAddState(state)) { destroyState(state); return(false); } // 移除不能共存的状态 removeMutexState(state); // 进入状态 state.enter(); // 添加到状态列表 if (!mStateTypeList.tryGetValue(type, out SafeDeepList <PlayerState> stateList)) { stateList = new SafeDeepList <PlayerState>(); mStateTypeList.add(type, stateList); } stateList.add(state); mStateMap.Add(state.getID(), state); return(true); }
public override void ChangeState(string stateName, StateParam _param = null) { if (stateName == "constructing") { stateMachine.ChangeState(openSpaceConstructing, _param); } }
public override void enter(StateParam param) { // 状态持续时间为摔倒动作的持续时间 AnimationClip clip = mAnimation.GetClip(GameDefine.ANIM_FALL_DOWN); mStateTime = clip.length; }
public override void enter(StateParam param) { // 添加竖直方向上的速度 mPlayer.getCharacterData().mVerticalSpeed = (param as JumpParam).mJumpSpeed; // 跳跃动作 mAnimation.CrossFade(GameDefine.ANIM_JUMP_UP); mAnimation.PlayQueued(GameDefine.ANIM_JUMP_LOOP); }
public void SetParam(StateParam _param) { if (_param == null) { return; } attackInfo = _param.targetInfo; }
public void OnQuit(StateParam <DeviceState> obj) { threadTimer.Dispose(); threadTimer = null; deleteAllTask(); TaskDic = null; }
public void OnUnregister(StateParam <GameState> obj) { threadTimer.Dispose(); threadTimer = null; deleteAllTask(); TaskDic = null; }
//传入barrackInfo public void SetParam(StateParam _param) { if (_param == null) { return; } towerInfo = (BarrackTowerInfo)_param.targetInfo; }
public void SetParam(StateParam _param) { if (_param == null) { return; } changeTowerId = _param.towerId; }
public void Process(EntityBase entity, StateParam param = default) { if (entity.entityType == EntityType.Player && !param._bool) { entity.canSkill = false; } entity.SkillAttack(param._int); }
public override void enter(StateParam param) { mAnimation.CrossFade(GameDefine.ANIM_TURN_RIGHT); mAnimation.CrossFadeQueued(GameDefine.ANIM_RIDE); RoleDisplay scene = mSceneSystem.getScene <RoleDisplay>(GameDefine.ROLE_DISPLAY); ObjectTools.MOVE_OBJECT_EX(mPlayer, scene.mRolePosition0, scene.mRolePosition2, 1.0f, onMoveDone); }
public void SetParam(StateParam _param) { if (_param == null) { return; } skillInfo = (SkillInfo)_param.skillInfo; }
public override void enter(StateParam param) { // 显示瞄准图标,只有玩家自己进入瞄准状态才显示 if (mPlayer.isType(CHARACTER_TYPE.CT_MYSELF)) { LayoutTools.LOAD_NGUI_SHOW(LAYOUT_TYPE.LT_AIMING, 20); } }
public void SetParam(StateParam _param) { if (_param == null) { return; } monsterInfo.SetAtkInfo(_param.targetInfo); }
public override void enter(StateParam param) { // 显示方向提示界面,只有玩家自己进入瞄准状态才显示 if (mPlayer.isType(CHARACTER_TYPE.CT_MYSELF)) { LayoutTools.LOAD_NGUI_SHOW(LAYOUT_TYPE.LT_DIRECTION_TIPS, 20); } }
public override void resetProperty() { base.resetProperty(); mStateType = null; mParam = null; mOutStateID = null; mStateTime = -1.0f; mStateID = 0; }
public void Process(EntityBase entity, StateParam param = default) { entity.SetAction(100); entity.ReleaseControl(); TimerSev.Instance.AddTimerTask((tid) => { entity._gameObject.SetActive(false); }, Constans.DieDestoryTime); }
public override void enter(StateParam param) { // 确认当前道具选择 pushCommand <CommandCharacterSelectItem>(mPlayer); CommandCharacterAddState cmdState = newCmd(out cmdState, true, true); cmdState.mState = PLAYER_STATE.PS_SPRINT; pushDelayCommand(cmdState, mPlayer); }
public override void init() { base.init(); mState = null; mParam = null; mOutStateID = null; mStateTime = -1.0f; mStateID = 0; }
/// ---------------------------------------------------------------- /// ----------------------- inherite from interface ---------------- /// ---------------------------------------------------------------- public void OnLogin(StateParam <GameState> obj) { LoginInfo log = obj.obj as LoginInfo; cachedServerTime = (int)log.logUtc; if (threadTimer != null && IsRunning == false) { threadTimer.Change(IntervalPeriod, Timeout.Infinite); } }
public override void enter(StateParam param) { mShield = mObjectManager.createObject(mPlayer.getObject(), GameDefine.R_PARTICLE_PREFAB_PATH + GameDefine.SHIELD); mShield.name = "Shield"; mShield.transform.localPosition = new Vector3(0.0f, 1.0f, 0.0f); if (mPlayer.isType(CHARACTER_TYPE.CT_MYSELF)) { GameTools.PLAY_AUDIO_UI(mScriptGlobalAudio.getAudioWindow(), SOUND_DEFINE.SD_SHIELD_OPEN); } }
public void Enter(EntityBase entity, StateParam param = default) { entity.curState = AnimState.Born; entity.SetAction(0); TimerSev.Instance.AddTimerTask((tid) => { entity.SetAction(Constans.ActionDefault); entity.Idle(); }, 2000, 1); }
public virtual void resetProperty() { mPlayer = null; mData = null; mActive = true; mAnimation = null; mStateTime = -1.0f; mParam = null; mIgnoreTimeScale = false; }
public override void enter(StateParam param) { // 禁用动态拖尾 mPlayer.activeTrail(false, false); // 将速度降低到0 CommandCharacterHardwareSpeed cmdHardwareSpeed = newCmd(out cmdHardwareSpeed); cmdHardwareSpeed.mSpeed = 0.0f; cmdHardwareSpeed.mExternalSpeed = false; pushCommand(cmdHardwareSpeed, mPlayer); }
//public void ChangeState(StateBase _newState) //{ // if (currentState != null) // { // currentState.ExitExcute(); // previousState = currentState; // } // currentState = _newState; // currentState.EnterExcute(); //} public void ChangeState(StateBase _newState, StateParam _param = null) { if (currentState != null) { currentState.ExitExcute(); previousState = currentState; } currentState = _newState; currentState.SetParam(_param); currentState.EnterExcute(); }
public void OnQuit(StateParam <DeviceState> obj) { if (Server != null) { Server.Dispose(); } if (Client != null) { Client.Quit(); } }
public virtual void Init(Context context) { context.machine = this; foreach (State state in this.mStates.Values) { StateParam param = new StateParam(); context[state] = param; } context.status = Status.Inited; }