/** 刷怪状态逻辑 根据规则刷怪,无怪可刷或已刷完怪切到刷怪结束状态 */ private void do_mapState_refresh() { if (this.ruleIndex >= this.ruleMaxSize) { // 如果没有怪可刷,则切换到刷怪结束状态 // 刷完怪,切换到刷怪结束状态 this.mapState = MapState.refresh_end; return; } int ruleId = Integer.parseInt(this.ruleId); this.ruleIndex = GameContext.getRefreshRuleApp().refresh(ruleId, this.ruleIndex, startTime, this, true); }
/** 初始化状态的逻辑 找到刷怪规则,切换到刷怪状态 */ private void do_mapState_init() { RoleInstance role = this.getFirstRole(); if (null == role) { return; } CopyMapRoleRule rule = GameContext.getCopyLogicApp().getCopyMapRoleRule(role, this.map.getMapId()); // 如果没有找到合适的规则,有可能是地图里种怪了 if (null != rule) { this.ruleId = rule.getRuleId(); this.ruleMaxSize = GameContext.getRefreshRuleApp().getRefreshMax(Integer.parseInt(this.ruleId)); } // 必须切换到刷怪状态,里面会发副本倒计时 this.change_mapState_init_to_refresh(); }