Exemple #1
0
        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);
        }
Exemple #2
0
        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);
                }
            }
        }