Esempio n. 1
0
        //============================================================
        // <T>创建资源对象。</T>
        //
        // @param typeCd 资源类型
        // @param code 代码
        //============================================================
        public FRsResource CreateResource(int typeCd, int code)
        {
            // 创建资源
            FRsResource resource = null;

            switch (typeCd)
            {
            case ERsResource.Picture:
                resource = new FRsResourcePicture();
                break;

            case ERsResource.Animation:
                resource = new FRsResourceAnimation();
                break;

            case ERsResource.Sound:
                resource = new FRsResourceSound();
                break;

            case ERsResource.Music:
                resource = new FRsResourceMusic();
                break;
            }
            // 检查存在性
            if (_resources.Contains(code))
            {
                RMoCore.TrackConsole.Write(this, "CreateResource", "Duplicate resource code. (code={0})", code);
            }
            // 设置对照表
            _resources.Set(code, resource);
            return(resource);
        }
Esempio n. 2
0
 //============================================================
 // <T>保存资源信息。</T>
 //
 // @param resource 资源对象
 //============================================================
 public override void SaveResource(FRsResource resource)
 {
     base.SaveResource(resource);
     //int count = RDsResource.PicturePixelSplit;
     //_resourcePicture.OptionAlpha = cbxAlpha.Checked;
     //_resourcePicture.OptionPadding = chkPandding.Checked;
     //if (rbnPaletteColor64.Checked) {
     //   _resourcePicture.QualityPalette = 64;
     //}
     //if (rbnPaletteColor128.Checked) {
     //   _resourcePicture.QualityPalette = 128;
     //}
     //if (rbnPaletteColor256.Checked) {
     //   _resourcePicture.QualityPalette = 256;
     //}
     //if (ranPalettePixel1.Checked) {
     //   _resourcePicture.QualityCd = ERsResourceQuality.Min;
     //}
     //if (ranPalettePixel2.Checked) {
     //   _resourcePicture.QualityCd = ERsResourceQuality.Lower;
     //}
     //if (ranPalettePixel3.Checked) {
     //   _resourcePicture.QualityCd = ERsResourceQuality.Middle;
     //}
     //if (ranPalettePixel4.Checked) {
     //   _resourcePicture.QualityCd = ERsResourceQuality.High;
     //}
     //if (ranPalettePixel5.Checked) {
     //   _resourcePicture.QualityCd = ERsResourceQuality.Max;
     //}
 }
Esempio n. 3
0
        //============================================================
        // <T>资源点击事件。</T>
        //============================================================
        private void qrsResourceList_ResourceClick(object sender, EventArgs e)
        {
            FRsResource resource = qrsResourceList.SelectedResource;

            if (null != resource)
            {
                // 打开资源
                resource.Open();
                // 显示资源
                SuspendLayout();
                qrsClipViewer.Visible    = false;
                qrsPictureViewer.Visible = false;
                // 显示动画
                if (resource is FRsResourceAnimation)
                {
                    FRsResourceAnimation animation = resource as FRsResourceAnimation;
                    FRsResourceClip      clip      = animation.FristClip;
                    qrsClipViewer.LoadClip(clip);
                    qrsClipViewer.DoPlay();
                    qrsClipViewer.Visible = true;
                }
                // 显示图片
                if (resource is FRsResourcePicture)
                {
                    FRsResourcePicture picture = resource as FRsResourcePicture;
                    qrsPictureViewer.LoadPicture(picture);
                    qrsPictureViewer.Visible = true;
                    labInfo.Text             = picture.Format();
                }
                ResumeLayout();
            }
        }
Esempio n. 4
0
        //============================================================
        public override void LoadResource(FRsResource resource)
        {
            cmbAlphaVelue.Text = null;
            base.LoadResource(resource);
            _resourceAnimation = resource as FRsResourceAnimation;
            // 加载信息
            LoadInformation();
            // 加载剪辑列表
            LoadClipList();
            // 设置延迟
            tbrSystemDelay.Value = 1000 / _resourceAnimation.FrameDelay;
            selectDelay(tbrSystemDelay.Value);
            // 设置关键帧
            tbrModuleDelay.Clear();
            tbrModuleDelay.LoadInfomation(_currentClip);
            switch (_resourceAnimation.TimeoutCd)
            {
            case "none":
                radNull.Checked = true;
                break;

            case "short":
                radShort.Checked = true;
                break;

            case "middle":
                radMiddle.Checked = true;
                break;

            case "long":
                radLong.Checked = true;
                break;
            }
            switch (_resourceAnimation.QualityCd)
            {
            case ERsResourceQuality.Max:
                ranPalettePixel5.Checked = true;
                break;

            case ERsResourceQuality.Middle:
                ranPalettePixel3.Checked = true;
                break;

            case ERsResourceQuality.Lower:
                ranPalettePixel2.Checked = true;
                break;

            case ERsResourceQuality.High:
                ranPalettePixel4.Checked = true;
                break;

            case ERsResourceQuality.Min:
                ranPalettePixel1.Checked = true;
                break;

            default:
                break;
            }
        }
Esempio n. 5
0
        //============================================================
        protected void SelectResource(object value)
        {
            panInfo.SuspendLayout();
            // 全部隐藏
            qdsPicture.Visible     = false;
            qdsAnimation.Visible   = false;
            qdsGrpProperty.Visible = false;
            if (value is FRsResourceGroup)
            {
                FRsResourceGroup group = value as FRsResourceGroup;
                qdsGrpProperty.Dock = DockStyle.Fill;
                qdsGrpProperty.LoadResource(group);
                qdsGrpProperty.Visible = true;
            }
            else if (value is FRsResource)
            {
                FRsResource resource = value as FRsResource;
                resource.Open();
                // 资源处理
                switch (resource.TypeCd)
                {
                case ERsResource.Picture:
                    labNameDisplay.Text = "图片:" + resource.Label;
                    qdsPicture.Dock     = DockStyle.Fill;
                    qdsPicture.LoadResource(resource);
                    qdsPicture.Visible = true;
                    break;

                case ERsResource.Animation:
                    labNameDisplay.Text = "动画:" + resource.Label;
                    qdsAnimation.Dock   = DockStyle.Fill;
                    qdsAnimation.LoadResource(resource);
                    qdsAnimation.Visible = true;
                    break;

                case ERsResource.Sound:
                    labNameDisplay.Text = "音效:" + resource.Label;
                    //qucSound.Dock = DockStyle.Fill;
                    //qucSound.Visible = true;
                    break;

                case ERsResource.Music:
                    labNameDisplay.Text = "音乐:" + resource.Label;
                    //qucMusic.Dock = DockStyle.Fill;
                    //qucMusic.Visible = true;
                    break;

                case ERsResource.Swf:
                    labNameDisplay.Text = "特效:" + resource.Label;
                    //qucSwf.LoadResource(_resource);
                    //qucSwf.Dock = DockStyle.Fill;
                    //qucSwf.Visible = true;
                    break;
                }
            }
            panInfo.ResumeLayout();
        }
Esempio n. 6
0
        //============================================================
        protected void SelectResource(object value)
        {
            pnlInfo.SuspendLayout();
            // 全部隐藏
            qdsPicture.Visible   = false;
            qdsAnimation.Visible = false;
            // 对象处理
            if (value is FRsResourceFolder)
            {
                FRsResourceFolder folder = value as FRsResourceFolder;
                // 目录处理
                labNameDisplay.Text = "目录:" + folder.Label;
            }
            else if (value is FRsResource)
            {
                FRsResource resource = value as FRsResource;
                resource.Open();
                // 资源处理
                switch (resource.TypeCd)
                {
                case ERsResource.Picture:
                    labNameDisplay.Text = "图片:" + resource.Label;
                    qdsPicture.Dock     = DockStyle.Fill;
                    qdsPicture.LoadResource(resource);
                    qdsPicture.Visible = true;
                    break;

                case ERsResource.Animation:
                    labNameDisplay.Text = "动画:" + resource.Label;
                    qdsAnimation.Dock   = DockStyle.Fill;
                    qdsAnimation.LoadResource(resource);
                    qdsAnimation.Visible = true;
                    break;

                case ERsResource.Sound:
                    labNameDisplay.Text = "音效:" + resource.Label;
                    //qucSound.Dock = DockStyle.Fill;
                    //qucSound.Visible = true;
                    break;

                case ERsResource.Music:
                    labNameDisplay.Text = "音乐:" + resource.Label;
                    //qucMusic.Dock = DockStyle.Fill;
                    //qucMusic.Visible = true;
                    break;

                case ERsResource.Swf:
                    labNameDisplay.Text = "特效:" + resource.Label;
                    //qucSwf.LoadResource(_resource);
                    //qucSwf.Dock = DockStyle.Fill;
                    //qucSwf.Visible = true;
                    break;
                }
            }
            pnlInfo.ResumeLayout();
        }
Esempio n. 7
0
        //============================================================
        // <T>根据代码查找打开的资源对象。</T>
        //
        // @param code 代码
        // @return 资源对象
        //============================================================
        public FRsResource FindOpen(int code)
        {
            FRsResource resource = _resources.Find(code);

            if (resource != null)
            {
                resource.Open();
            }
            return(resource);
        }
Esempio n. 8
0
        //============================================================
        // <T>通过资源编号选择资源。</T>
        //
        // @param id 资源编号
        //============================================================
        public void SelectResourceById(int id)
        {
            // 清空资源
            txtFilterValue.Text = id.ToString();
            DoFilter();
            // 选取资源
            FRsResource resource = qrsResourceList.SelectResourceById(id);

            if (resource != null)
            {
                SelectResource(resource);
            }
        }
Esempio n. 9
0
 //============================================================
 // <T>通过编号选择资源。</T>
 //
 // @param id 编号
 // @return 资源
 //============================================================
 public FRsResource SelectResourceById(int id)
 {
     foreach (ListViewItem item in lvResources.Items)
     {
         FRsResource resource = item.Tag as FRsResource;
         if (resource.Code == id)
         {
             item.Selected = true;
             return(resource);
         }
     }
     return(null);
 }
Esempio n. 10
0
 //============================================================
 public void SelectedResource(TreeNodeCollection nodes, FObjects <FRsResource> resources)
 {
     foreach (TreeNode node in nodes)
     {
         if (node.Checked)
         {
             FRsResource resouce = node.Tag as FRsResource;
             if (resouce != null)
             {
                 resources.Push(resouce);
             }
         }
         //SelectedResource(node.Nodes, resources);
     }
 }
Esempio n. 11
0
 //============================================================
 //<T>保存</T>
 //
 // @author DYWEN 20120602
 //============================================================
 public override void SaveResource(FRsResource resource)
 {
     base.SaveResource(resource);
     if (_checkd == Check.SYSTEM)
     {
         _resourceAnimation.FrameDelay = RInt.Parse(txtFrameDelay.Text);
         //_resourceAnimation.Id = RInt.Parse(txtId.Text);
     }
     if (_showBarycenter)
     {
         _currentClip.ValidBarycenter.X = RInt.Parse(txtbaryCenterX.Text);
         _currentClip.ValidBarycenter.Y = RInt.Parse(txtbaryCenterY.Text);
     }
     if (_showBloodPoint)
     {
         _currentClip.Blood.X = RInt.Parse(BloodX.Text);
         _currentClip.Blood.Y = RInt.Parse(BloodY.Text);
     }
     if (_showRidePoint)
     {
         _currentClip.RidePoint.X = RInt.Parse(txtRidePointX.Text);
         _currentClip.RidePoint.Y = RInt.Parse(txtRidePointY.Text);
     }
     //if (_showWingPoint) {
     //   _currentClip.WingPoint.X = RInt.Parse(txtWingPointX.Text);
     //   _currentClip.WingPoint.Y = RInt.Parse(txtWingPointY.Text);
     //}
     if (ranPalettePixel1.Checked)
     {
         _resourceAnimation.QualityCd = ERsResourceQuality.Min;
     }
     if (ranPalettePixel2.Checked)
     {
         _resourceAnimation.QualityCd = ERsResourceQuality.Lower;
     }
     if (ranPalettePixel3.Checked)
     {
         _resourceAnimation.QualityCd = ERsResourceQuality.Middle;
     }
     if (ranPalettePixel4.Checked)
     {
         _resourceAnimation.QualityCd = ERsResourceQuality.High;
     }
     if (ranPalettePixel5.Checked)
     {
         _resourceAnimation.QualityCd = ERsResourceQuality.Max;
     }
 }
Esempio n. 12
0
        //============================================================
        // <T>搜索按键按下。</T>
        //
        // @param sender 事件产生者
        // @param      e 数据对象
        //============================================================
        private void cbxSearch_KeyUp(object sender, KeyEventArgs e)
        {
            string value = cbxSearch.Text;

            if (_filterValue == value)
            {
                return;
            }
            // 资源过滤
            lvwResources.BeginUpdate();
            lvwResources.Items.Clear();
            foreach (IIntPair <FRsResource> pair in RContent2dManager.ResourceConsole.Resources)
            {
                FRsResource    resource = pair.Value;
                SDsResourceTag tag      = resource.Tag as SDsResourceTag;
                if (-1 != resource.Keyword.IndexOf(value))
                {
                    lvwResources.Items.Add(tag.item);
                }
            }
            lvwResources.EndUpdate();
            _filterValue = value;
        }
Esempio n. 13
0
        //============================================================
        // <T>打开资源信息。</T>
        //============================================================
        public void Open()
        {
            FRsResourceDictionary resourceDictionary = RContent2dManager.ResourceConsole.Resources;

            // 初始化资源附加数据
            foreach (IIntPair <FRsResource> pair in resourceDictionary)
            {
                pair.Value.Tag = new SDsResourceTag();
            }
            // 打开资源目录
            qdsCatalog.Open();
            // 打开资源列表
            lvwResources.BeginUpdate();
            foreach (IIntPair <FRsResource> pair in resourceDictionary)
            {
                FRsResource  resource    = pair.Value;
                ListViewItem lviResource = new ListViewItem(resource.Label);
                if (resource.OptionValid)
                {
                    lviResource.ForeColor = Color.Black;
                    lviResource.ImageKey  = resource.TypeName;
                }
                else
                {
                    lviResource.ForeColor = Color.Gray;
                    lviResource.ImageKey  = resource.TypeName + "D";
                }
                // 设置关联
                SDsResourceTag tag = resource.Tag as SDsResourceTag;
                tag.item        = lviResource;
                lviResource.Tag = resource;
                lvwResources.Items.Add(lviResource);
            }
            lvwResources.EndUpdate();
            // 选择资源
            SelectResource(null);
        }
Esempio n. 14
0
 //============================================================
 // <T>选择资源。</T>
 //
 // @param resource 资源
 //============================================================
 public void SelectResource(FRsResource resource)
 {
     // 打开资源
     resource.Open();
     // 显示资源
     qrsClipViewer.Visible    = false;
     qrsPictureViewer.Visible = false;
     // 显示动画
     if (resource is FRsResourceAnimation)
     {
         FRsResourceAnimation animation = resource as FRsResourceAnimation;
         FRsResourceClip      clip      = animation.FristClip;
         qrsClipViewer.LoadClip(clip);
         qrsClipViewer.DoPlay();
         qrsClipViewer.Visible = true;
     }
     // 显示动画
     if (resource is FRsResourcePicture)
     {
         FRsResourcePicture picture = resource as FRsResourcePicture;
         qrsPictureViewer.LoadPicture(picture);
         qrsPictureViewer.Visible = true;
     }
 }
Esempio n. 15
0
 //============================================================
 // <T>保存资源信息。</T>
 //
 // @param resource 资源对象
 //============================================================
 public virtual void SaveResource(FRsResource resource)
 {
 }
Esempio n. 16
0
        //============================================================
        // <T>加载目录。</T>
        //============================================================
        public bool LoadFolder(FObjects <FRsResourceFolder> folder)
        {
            // 判断是否为空
            if (null == folder)
            {
                return(false);
            }
            string directory = folder[0].Directory;

            // 获得所有组件
            _resources.Clear();
            LoadSubFolder(_resources, folder[0]);
            // 加载子目录
            lvResources.BeginUpdate();
            lvResources.Items.Clear();
            foreach (INamePair <FRsResource> Pair in _resources)
            {
                FRsResource resource = Pair.Value;
                //if(_showCd == ERsResource.Picture) {
                //   // 获得资源信息
                //   string typeName = resource.TypeName;
                //   string folderDirectory = resource.Directory;
                //   if(folderDirectory.StartsWith(directory)) {
                //      folderDirectory = folderDirectory.Substring(directory.Length);
                //   }
                //   int id = RInt.Parse(resource.Code);
                //   string label = resource.Label;
                //   bool valid = resource.IsValid;
                //   // 创建列表项目
                //   ListViewItem qItem = new ListViewItem();
                //   qItem.ImageKey = typeName;
                //   qItem.Text = " " + id;
                //   if(valid) {
                //      qItem.ForeColor = Color.Black;
                //      qItem.SubItems.Add("O");
                //   } else {
                //      qItem.ForeColor = Color.Gray;
                //      qItem.SubItems.Add("");
                //   }
                //   qItem.SubItems.Add(label);
                //   qItem.Tag = resource;
                //   lvResources.Items.Add(qItem);
                //   // 设置附加内容
                //   //SDsResourceTag tag = resource.Tag as SDsResourceTag;
                //   //tag.item = qItem;
                //   //tag.key = resource.Code + " " + resource.Label;
                //} else if(_showCd == ERsResource.Animation) {
                //   // 获得资源信息
                //   string typeName = resource.TypeName;
                //   string folderDirectory = resource.Directory;
                //   if(folderDirectory.StartsWith(directory)) {
                //      folderDirectory = folderDirectory.Substring(directory.Length);
                //   }
                //   int id = RInt.Parse(resource.Code);
                //   string label = resource.Label;
                //   bool valid = resource.IsValid;
                //   // 创建列表项目
                //   ListViewItem qItem = new ListViewItem();
                //   qItem.ImageKey = typeName;
                //   qItem.Text = " " + id;
                //   if(valid) {
                //      qItem.ForeColor = Color.Black;
                //      qItem.SubItems.Add("O");
                //   } else {
                //      qItem.ForeColor = Color.Gray;
                //      qItem.SubItems.Add("");
                //   }
                //   qItem.SubItems.Add(label);
                //   qItem.Tag = resource;
                //   lvResources.Items.Add(qItem);
                //   // 设置附加内容
                //   //SRsResourceTag tag = resource.Tag as SRsResourceTag;
                //   //tag.item = qItem;
                //   //tag.key = resource.Id + " " + resource.Code + " " + resource.Label;
                //}
            }
            lvResources.EndUpdate();
            return(true);
        }
Esempio n. 17
0
 //============================================================
 // <T>选择处理。a</T>
 //============================================================
 private void tsbSelect_Click(object sender, EventArgs e)
 {
     _selectedResource = qrpResourcePicker.SelectedResource;
     DialogResult      = DialogResult.OK;
     Close();
 }
Esempio n. 18
0
 //============================================================
 // <T>加载资源信息。</T>
 //
 // @param resource 资源对象
 //============================================================
 public virtual void LoadResource(FRsResource resource)
 {
     _resource = resource;
 }
Esempio n. 19
0
        //============================================================
        // <T>加载资源信息。</T>
        //
        // @param resource 资源对象
        //============================================================
        public override void LoadResource(FRsResource resource)
        {
            base.LoadResource(resource);
            // 设置资源
            _resourcePicture = resource as FRsResourcePicture;
            // 设置信息
            //if (null != _resourcePicture.Group) {
            //   txtGroupName.Text = _resourcePicture.Group.Code;
            //}
            //resourceCode = _resourcePicture.Code;
            txtLabel.Text       = _resourcePicture.Label;
            txtFileName.Text    = _resourcePicture.FileName;
            cbxAlpha.Checked    = _resourcePicture.OptionAlpha;
            chkPandding.Checked = _resourcePicture.OptionPadding;
            // 设置调色板类型
            switch (_resourcePicture.QualityPalette)
            {
            case 64:
                rbnPaletteColor64.Checked = true;
                break;;

            case 128:
                rbnPaletteColor128.Checked = true;
                break;;

            case 256:
                rbnPaletteColor256.Checked = true;
                break;;
            }
            // 设置超时类型
            switch (_resourcePicture.TimeoutCd)
            {
            case "none":
                radNull.Checked = true;
                break;

            case "short":
                radShort.Checked = true;
                break;

            case "middle":
                radMiddle.Checked = true;
                break;

            case "long":
                radLong.Checked = true;
                break;
            }
            // 设置质量类型
            switch (_resourcePicture.QualityCd)
            {
            case ERsResourceQuality.Max:
                ranPalettePixel5.Checked = true;
                break;

            case ERsResourceQuality.Middle:
                ranPalettePixel3.Checked = true;
                break;

            case ERsResourceQuality.Lower:
                ranPalettePixel2.Checked = true;
                break;

            case ERsResourceQuality.High:
                ranPalettePixel4.Checked = true;
                break;

            case ERsResourceQuality.Min:
                ranPalettePixel1.Checked = true;
                break;

            default:
                break;
            }
            // 设置预览
            qpbImage.ScaleMode = EPictureBoxMode.ScalePixel;
            qpbImage.LoadBitmap(_resourcePicture.Bitmap.Native);
            //int count = RDsResource.PicturePixelSplit;
            //if (_resourcePicture.QualityCd == 0 || _resourcePicture.QualityCd == count) {
            //   _resourcePicture.QualityCd = count;
            //   ranPalettePixel3.Checked = true;
            //   return;
            //}
            //if (_resourcePicture.QualityCd > count) {
            //   int sum = _resourcePicture.QualityCd / count;
            //   if (sum == 2) {
            //      ranPalettePixel2.Checked = true;
            //   }
            //   if (sum == 4) {
            //      ranPalettePixel1.Checked = true;
            //   }
            //}
            //if (_resourcePicture.QualityCd < count) {
            //   int sum = count / _resourcePicture.QualityCd;
            //   if (sum == 2) {
            //      ranPalettePixel4.Checked = true;
            //   }
            //   if (sum == 4) {
            //      ranPalettePixel5.Checked = true;
            //   }
            //}
        }