/// <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); } }
/// <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); } }