Esempio n. 1
0
        /// <summary>
        /// Удаление перекрестных ограничений
        /// </summary>
        protected void ClearCrossRestriction(SortedDictionary <int,
                                                               List <int> > diffDict)
        {
            // Для ограничений на последующие операции
            // не должны проставляться симметричные ограничения.
            if ((luaName != "NextModeRestriction") && (diffDict.Count != 0))
            {
                SortedDictionary <int, List <int> > .KeyCollection keyColl =
                    diffDict.Keys;

                foreach (int key in keyColl)
                {
                    TechObject to = TechObjectManager.GetInstance()
                                    .TechObjects[key - 1];
                    foreach (int val in diffDict[key])
                    {
                        Mode mode = to.GetMode(val - 1);
                        if (mode != null)
                        {
                            mode.DelRestriction(luaName, ownerObjNum,
                                                ownerModeNum);
                        }
                    }
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Установка перекрестных ограничений
        /// </summary>
        protected void SetCrossRestriction()
        {
            if (LuaName != "NextModeRestriction")
            {
                SortedDictionary <int, List <int> > .KeyCollection keyColl =
                    restrictList.Keys;

                foreach (int key in keyColl)
                {
                    TechObject to = TechObjectManager.GetInstance()
                                    .TechObjects[key - 1];
                    foreach (int val in restrictList[key])
                    {
                        Mode mode = to.GetMode(val - 1);
                        mode.AddRestriction(luaName, ownerObjNum, ownerModeNum);
                    }
                }
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Установка перекрестных ограничений
        /// </summary>
        protected void SetCrossRestriction()
        {
            // Для ограничений на последующие операции
            // не должны проставляться симметричные ограничения.
            if (luaName != "NextModeRestriction")
            {
                SortedDictionary <int, List <int> > .KeyCollection keyColl =
                    restrictList.Keys;

                foreach (int key in keyColl)
                {
                    TechObject to = TechObjectManager.GetInstance()
                                    .Objects[key - 1];
                    foreach (int val in restrictList[key])
                    {
                        Mode mode = to.GetMode(val - 1);
                        mode.AddRestriction(luaName, ownerObjNum, ownerModeNum);
                    }
                }
            }
        }