Esempio n. 1
0
        /// <summary>
        /// 發生於內部繪置物件變更
        /// </summary>
        protected virtual void OnDrawObjectInsideChanged(DrawBase oldValue, DrawBase newValue)
        {
            if (oldValue != null)
            {
                newValue.BindingUnlock();
                newValue.Binding(Scene);
            }

            if (newValue != null)
            {
                newValue.Binding(this, true);
            }

            if (IconDrawObjectChanged != null)
            {
                IconDrawObjectChanged(this, oldValue, newValue);
            }
        }
        private void GetDrawObject()
        {
            if (_BaseDrawObject != Owner.DrawObject && _DrawObject != null)
            {
                if (_DrawObject != DrawNull.Value)
                {
                    _DrawObject.Dispose();
                }
                _DrawObject = null;
            }

            if (_DrawObject == null)
            {
                _BaseDrawObject         = Owner.DrawObject;
                _DrawObject             = _BaseDrawObject.Copy();
                _DrawObject.Colors.RFix = RFix;
                _DrawObject.Colors.GFix = GFix;
                _DrawObject.Colors.BFix = BFix;
                _DrawObject.Binding(_BaseDrawObject);
            }
        }