private MagicMoveRecord FixMMRs(MagicMoveRecord first)
    {
        MagicMoveRecord last = first;

        for (int i = 0; i < NeedFixRecords.Count;)
        {
            if (last != null)
            {
                MagicMoveRecord tmp   = NeedFixRecords[i];
                var             temp2 = CalcNextMMR(last, tmp.GetDir().x, tmp.GetDir().z, tmp.GetSpeedType(), tmp.GetTime(), tmp.GetCMDIndex(), tmp);
                if (temp2 != null)
                {
                    i++;
                }
                else
                {
                    if (last == first && first.GetCMDIndex() > tmp.GetCMDIndex())
                    {
                        first = tmp;
                    }
                    else
                    {
                        Log("if(last==first && first.GetCMDIndex() > tmp.GetCMDIndex())@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@22");
                    }
                    NeedFixRecords.RemoveAt(i);
                    Log("discard:" + tmp.ToString());
                }
                last = tmp;
            }
        }
        return(first);
    }
Exemple #2
0
 private void SetCurMMR(MagicMoveRecord mmr)
 {
     if (mmr != CurMagicRecord)
     {
         Log("MMR changed:" + CurMagicRecord.GetCMDIndex() + "->" + mmr.GetCMDIndex());
         CurMagicRecord = mmr;
     }
 }
Exemple #3
0
    private void FixMMRs(MagicMoveRecord first)
    {
        Log("FixMMRs Enter:");
        int firstIdx = Records.IndexOf(first);

        if (firstIdx < 0)
        {
            while (true)
            {
                Log("if(firstIdx < 0)");
            }
            return;
        }
        MagicMoveRecord previous = Records[firstIdx];

        Log("Fix Begin:");
        for (int i = firstIdx + 1; i < Records.Count; i++)
        {
            MagicMoveRecord tmp = Records[i];
            CalcNextMMR(previous, tmp.GetDir().x, tmp.GetDir().z, tmp.GetSpeedType(), tmp.GetCMDTime(), tmp.GetCMDIndex(), tmp);
            previous = tmp;
        }
        Log("Fix End:");
        Log("FixMMRs Leave:");
    }