| | |
| | |
|
| | | secondTypeRedDict.Clear();
|
| | | thirdTypeRedDict.Clear();
|
| | | //if (composeDataDict.ContainsKey((int)ComposeFuncType.Item))
|
| | | //{
|
| | | // var firstTypeData = composeDataDict[(int)ComposeFuncType.Item];
|
| | | // var secondTypeDict = firstTypeData.secondTypeDict;
|
| | | // foreach (var second in secondTypeDict.Keys)
|
| | | // {
|
| | | // var thirdTypeDict = secondTypeDict[second].thirdTypeDict;
|
| | | // int secondRedKey = COMPOSETOOL_REDKEY * 100 + second;
|
| | | // Redpoint secondRed = new Redpoint(COMPOSETOOL_REDKEY, secondRedKey);
|
| | | // secondTypeRedDict.Add(second, secondRed);
|
| | | // foreach (var third in thirdTypeDict.Keys)
|
| | | // {
|
| | | // int thirdRedKey = secondRedKey * 100 + third;
|
| | | // Redpoint thirdRed = new Redpoint(secondRedKey, thirdRedKey);
|
| | | // string key = StringUtility.Contact(second, 10, third);
|
| | | // thirdTypeRedDict.Add(key, thirdRed);
|
| | | // }
|
| | | // }
|
| | | //}
|
| | |
|
| | | var firstType= (int)ComposeFuncType.Item;
|
| | | if (composeDataDict.ContainsKey(firstType))
|
| | | {
|
| | | var firstTypeData = composeDataDict[firstType];
|
| | | var secondTypeDict = firstTypeData.secondTypeDict;
|
| | | foreach (var second in secondTypeDict.Keys)
|
| | | {
|
| | | var thirdTypeDict = secondTypeDict[second].thirdTypeDict;
|
| | | int secondRedKey = COMPOSETOOL_REDKEY * 100 + second;
|
| | | Redpoint secondRed = new Redpoint(COMPOSETOOL_REDKEY, secondRedKey);
|
| | | var secondKey = firstType * 100 + second;
|
| | | secondTypeRedDict.Add(secondKey, secondRed);
|
| | | foreach (var third in thirdTypeDict.Keys)
|
| | | {
|
| | | int thirdRedKey = secondRedKey * 100 + third;
|
| | | Redpoint thirdRed = new Redpoint(secondRedKey, thirdRedKey);
|
| | | string key = (secondKey * 100 + third).ToString();
|
| | | thirdTypeRedDict.Add(key, thirdRed);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | foreach (var category in composeRedpointCategories)
|
| | | {
|
| | |
| | | var thirdTypeDict = secondTypeDict[second].thirdTypeDict;
|
| | | int secondRedKey = COMPOSETICKET_REDKEY * 100 + second;
|
| | | Redpoint secondRed = new Redpoint(COMPOSETICKET_REDKEY, secondRedKey);
|
| | | secondTypeRedDict.Add(second, secondRed);
|
| | | var secondKey = category.x * 100 + second;
|
| | | secondTypeRedDict.Add(secondKey, secondRed);
|
| | | foreach (var third in thirdTypeDict.Keys)
|
| | | {
|
| | | int thirdRedKey = secondRedKey * 100 + third;
|
| | | Redpoint thirdRed = new Redpoint(secondRedKey, thirdRedKey);
|
| | | string key = StringUtility.Contact(second, 10, third);
|
| | | string key = (secondKey * 100 + third).ToString();
|
| | | thirdTypeRedDict.Add(key, thirdRed);
|
| | | }
|
| | | }
|
| | |
| | | return;
|
| | | }
|
| | |
|
| | | {
|
| | | var firstType = (int)ComposeFuncType.Item;
|
| | | ComposeSecondTypeData secondTypeData = null;
|
| | | TryGetSecondTypeData(firstType, 3, out secondTypeData);
|
| | | if (secondTypeData != null)
|
| | | {
|
| | | var thirdTypeDict = secondTypeData.thirdTypeDict;
|
| | | foreach (var third in thirdTypeDict.Keys)
|
| | | {
|
| | | List<ComposeThirdTypeData> thirdTypeDatas = thirdTypeDict[third];
|
| | | for (int i = 0; i < thirdTypeDatas.Count; i++)
|
| | | {
|
| | | var itemCompound = thirdTypeDatas[i].itemCompound;
|
| | | int makeID = itemCompound.makeID[0];
|
| | | var secondKey = firstType * 100 + 3;
|
| | | string key = (secondKey * 100 + third).ToString();
|
| | | if (IsEnoughFixedMat(itemCompound))
|
| | | {
|
| | | if (thirdTypeRedDict[key].state != RedPointState.Simple)
|
| | | {
|
| | | thirdTypeRedDict[key].state = RedPointState.Simple;
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | if (thirdTypeRedDict[key].state != RedPointState.None)
|
| | | {
|
| | | thirdTypeRedDict[key].state = RedPointState.None;
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | foreach (var category in composeRedpointCategories)
|
| | | {
|
| | | ComposeSecondTypeData secondTypeData = null;
|
| | |
| | | {
|
| | | var itemCompound = thirdTypeDatas[i].itemCompound;
|
| | | int makeID = itemCompound.makeID[0];
|
| | | string key = StringUtility.Contact(category.y, 10, third);
|
| | | var secondKey = category.x * 100 + category.y;
|
| | | string key = (secondKey * 100 + third).ToString();
|
| | | if (IsEnoughFixedMat(itemCompound))
|
| | | {
|
| | | if (thirdTypeRedDict[key].state != RedPointState.Simple)
|