public bool Reset(int LevelID) { this.Clear(); ResLevelCfgInfo info = FindLevelConfig(LevelID); DebugHelper.Assert(info != null); if (info == null) { return(false); } for (int i = 0; i < info.astStarDetail.Length; i++) { ResDT_IntParamArrayNode node = info.astStarDetail[i]; if (node.iParam == 0) { break; } this.AddStarEvaluation(node.iParam); } if (info.iLoseCondition != 0) { ResEvaluateStarInfo dataByKey = GameDataMgr.evaluateCondInfoDatabin.GetDataByKey((uint)info.iLoseCondition); DebugHelper.Assert(dataByKey != null); if (dataByKey == null) { return(false); } this.FailureEvaluation = this.CreateStar(dataByKey, 0); DebugHelper.Assert(this.FailureEvaluation != null, "我擦,怎会没有?"); } Singleton <EventRouter> .instance.BroadCastEvent(EventID.StarSystemInitialized); return(true); }
public bool Reset(int LevelID) { this.Clear(); SLevelContext curLvelContext = Singleton <BattleLogic> .GetInstance().GetCurLvelContext(); DebugHelper.Assert(curLvelContext != null); if (curLvelContext == null) { return(false); } for (int i = 0; i < curLvelContext.m_starDetail.Length; i++) { ResDT_IntParamArrayNode resDT_IntParamArrayNode = curLvelContext.m_starDetail[i]; if (resDT_IntParamArrayNode.iParam == 0) { break; } this.AddStarEvaluation(resDT_IntParamArrayNode.iParam); } if (curLvelContext.m_loseCondition != 0) { ResEvaluateStarInfo dataByKey = GameDataMgr.evaluateCondInfoDatabin.GetDataByKey((uint)curLvelContext.m_loseCondition); DebugHelper.Assert(dataByKey != null); if (dataByKey == null) { return(false); } this.FailureEvaluation = this.CreateStar(dataByKey, 0); DebugHelper.Assert(this.FailureEvaluation != null, "我擦,怎会没有?"); } Singleton <EventRouter> .get_instance().BroadCastEvent(EventID.StarSystemInitialized); return(true); }
private static void OnSkillFuncChangeValueProperty(ref SSkillFuncContext inContext, RES_FUNCEFT_TYPE _defType, bool _bAddValue) { PoolObjHandle <ActorRoot> inTargetObj = inContext.inTargetObj; if (inTargetObj != 0) { int num = 0; int changeValueProperty = GetChangeValueProperty((ActorRoot)inTargetObj, ref inContext); int skillFuncParam = inContext.GetSkillFuncParam(0, false); if (inContext.inStage != ESkillFuncStage.Leave) { if (_bAddValue) { if (skillFuncParam == 0) { num = ((int)inTargetObj.handle.ValueComponent.mActorValue[_defType]) + changeValueProperty; } else { num = (int)(inTargetObj.handle.ValueComponent.mActorValue[_defType] << changeValueProperty); } ResDT_IntParamArrayNode node1 = inContext.LocalParams[0]; node1.iParam += changeValueProperty; } else { if (skillFuncParam == 0) { num = ((int)inTargetObj.handle.ValueComponent.mActorValue[_defType]) - changeValueProperty; } else { num = (int)(inTargetObj.handle.ValueComponent.mActorValue[_defType] >> changeValueProperty); } ResDT_IntParamArrayNode node2 = inContext.LocalParams[0]; node2.iParam += changeValueProperty; } } else if (_bAddValue) { if (skillFuncParam == 0) { num = ((int)inTargetObj.handle.ValueComponent.mActorValue[_defType]) - inContext.LocalParams[0].iParam; } else { num = (int)(inTargetObj.handle.ValueComponent.mActorValue[_defType] >> inContext.LocalParams[0].iParam); } } else if (skillFuncParam == 0) { num = ((int)inTargetObj.handle.ValueComponent.mActorValue[_defType]) + inContext.LocalParams[0].iParam; } else { num = (int)(inTargetObj.handle.ValueComponent.mActorValue[_defType] << inContext.LocalParams[0].iParam); } } }