Esempio n. 1
0
        private void ResetField()
        {
            if (this.Position == null)
            {
                // The constructor isn't finished
                return;
            }

            switch (_fieldMode)
            {
            case VectorField2DMode.None:
                _grid = null;
                break;

            case VectorField2DMode.Custom:
                if (_grid != null)
                {
                    // Fix myself
                    _grid      = null;
                    _fieldMode = VectorField2DMode.None;

                    throw new InvalidOperationException("_fieldMode should only become Custom within this.SetFieldLines, and only after _grid is set up");
                }
                break;

            case VectorField2DMode.Inward:
                ResetFieldSprtInOut(-1);
                break;

            case VectorField2DMode.Outward:
                ResetFieldSprtInOut(1);
                break;

            case VectorField2DMode.SwirlLeft:
                ResetFieldSprtSwirl(true);
                break;

            case VectorField2DMode.SwirlRight:
                ResetFieldSprtSwirl(false);
                break;

            default:
                throw new ApplicationException("Unknown VectorField2DMode: " + _fieldMode.ToString());
            }
        }