Example #1
0
        public void Clean()
        {
            mGridProcesser?.Dispose();
            EliminateResult?.Dispose();
            mLinedRulesMapper?.Clear();
            mRearranger?.Clear();
            mOperatingGrids?.Clear();

            mGridProcesser    = default;
            EliminateResult   = default;
            mLinedRulesMapper = default;
            mRearranger       = default;
            mOperatingGrids   = default;
        }
Example #2
0
        public GridOperater(EliminateResult eliminateResult)
        {
            EliminateResult   = eliminateResult;
            mLinedRulesMapper = new Dictionary <int, ComboRule>();
            mRearranger       = new GridsRearranger();

            mOperatingGrids = new List <ElimlnateGrid>();//TODO 这里保存的自动消除的功能数据需要再看看如何实现

            mSupplementSizeData = new KeyValueList <int, int>();
            mHigestInCols       = new KeyValueList <int, int>();
            mObstacleCols       = new KeyValueList <int, int>();
            mUpdateCols         = new Queue <GridUpdateInfo>();
            mObstacleIndes      = new List <int>();

            mGridProcesser = new QueueExecuter(false);
            mGridProcesser.OnUnitCompleted += OnGridProcessComplete;
        }