Пример #1
0
    protected void StartCreate()
    {
        var info = Data as SkillCreateData;

        TimeTickService.inst.AddTimeTick(1, OnTickCreateUniqueSkill);
        m_UniqueSkillCreateDeploy = UniqueSkillCreateDeploy.GetInfo(info.SkillType, info.SkillId).Value;
    }
Пример #2
0
    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;
        }
    }