Esempio n. 1
0
        private bool AbortRequest(int tx, int tz, string reason)
        {
            bool result = false;

            // This is a thorough check, taking into account potential errors.

            for (int i = mNMGenTasks.Count - 1; i >= 0; i--)
            {
                NMGenTask item = mNMGenTasks[i];
                if (item.TileX == tx && item.TileZ == tz)
                {
                    item.Abort(reason);
                    mNMGenTasks.RemoveAt(i);
                    mBuild.BuildData.ClearUnbaked(tx, tz);
                    result = true;
                }
            }

            for (int i = mTileTasks.Count - 1; i >= 0; i--)
            {
                TileBuildTask item = mTileTasks[i];
                if (item.TileX == tx && item.TileZ == tz)
                {
                    item.Abort(reason);
                    mTileTasks.RemoveAt(i);
                    mBuild.BuildData.ClearUnbaked(tx, tz);
                    result = true;
                }
            }

            return(result);
        }