Example #1
0
        /// <summary>
        /// 指定位置数据发生变化
        /// </summary>
        /// <param name="i"></param>
        /// <param name="j"></param>
        public void DataChange(int xIndex, int yIndex, int value)
        {
            // 首先取得指定位置的数据.
            DynamicsItem data =
                DynamicsItemList.FirstOrDefault(p => p.X == xIndex && p.Y == yIndex);

            // 如果 数据不在本组里面. 直接返回.
            if (data == null)
            {
                // 返回.
                return;
            }

            // 如果 数据在本组里面. 本组内的数据, 都要删除掉 “可选数据”
            foreach (DynamicsItem oneData in DynamicsItemList)
            {
                oneData.TryRemoveUsable(value);
            }
        }
Example #2
0
        /// <summary>
        /// 指定位置数据发生变化
        /// </summary>
        /// <param name="i"></param>
        /// <param name="j"></param>
        private void DataChange(int xIndex, int yIndex, int value)
        {
            // 首先取得指定位置的数据.
            DynamicsItem data =
                DynamicsItemList.FirstOrDefault(p => p.X == xIndex && p.Y == yIndex);


            if (logger.IsDebugEnabled)
            {
                logger.DebugFormat("### 尝试对 {0}  设置一个数值: {1}", data, value);
            }


            // 设置数据.
            data.TrySetValue(value);

            // 然后更新相关组内的关联数据.
            foreach (ItemGroup itemGroup in ItemGroupList)
            {
                itemGroup.DataChange(xIndex, yIndex, value);
            }
        }