protected void StartCreate() { var info = Data as SkillCreateData; TimeTickService.inst.AddTimeTick(1, OnTickCreateUniqueSkill); m_UniqueSkillCreateDeploy = UniqueSkillCreateDeploy.GetInfo(info.SkillType, info.SkillId).Value; }
private void CreateSimulate() { var info = Data as SkillCreateData; if (info.LastCreateTime <= 0) { return; } var curTimeNow = TimeUtil.CurrentTime(); var curTime = info.LastCreateTime; var deploy = UniqueSkillCreateDeploy.GetInfo(info.SkillType, info.SkillId); if (deploy == null) { return; } m_UniqueSkillCreateDeploy = deploy.Value; while (curTime < curTimeNow) { if (info.FinishTime > 0 && info.FinishTime <= curTime) { break; } if (info.EventStartTime > 0 && info.EventFinishTime <= 0 && info.EventStartTime <= curTime) { break; } if (info.ChokeStartTime > 0 && info.ChokeFinishTime <= 0 && info.ChokeStartTime <= curTime) { break; } info.BasePower += Random.Range(m_UniqueSkillCreateDeploy.AttrPSMin.BasePower, m_UniqueSkillCreateDeploy.AttrPSMax.BasePower + 1); info.SkillPower += Random.Range(m_UniqueSkillCreateDeploy.AttrPSMin.SkillPower, m_UniqueSkillCreateDeploy.AttrPSMax.SkillPower + 1); info.Value += Random.Range(m_UniqueSkillCreateDeploy.AttrPSMin.Value, m_UniqueSkillCreateDeploy.AttrPSMax.Value + 1); info.Diff += Random.Range(m_UniqueSkillCreateDeploy.AttrPSMin.Diff, m_UniqueSkillCreateDeploy.AttrPSMax.Diff + 1); info.LastCreateTime = curTime; curTime++; } if (info.FinishTime > 0 && info.FinishTime > curTimeNow) { StartCreate(); return; } if (info.EventStartTime > 0 && info.EventStartTime > curTimeNow) { StartCreate(); return; } if (info.ChokeStartTime > 0 && info.ChokeStartTime > curTimeNow) { StartCreate(); return; } }