示例#1
0
        private void abrirJogo(TreeNodeRpg trnPai, string dirPai)
        {
            trnPai.Nodes.Clear();

            if (!Directory.Exists(dirPai))
            {
                return;
            }

            foreach (string dirFilho in Directory.GetDirectories(dirPai))
            {
                PastaDominio objPasta = new PastaDominio();

                objPasta.attDirCompleto.strValor = dirFilho;
                objPasta.attStrNome.strValor     = Path.GetFileName(dirFilho);

                objPasta.iniciar(true);

                TreeNodeRpg trnItem = new TreeNodeRpg(objPasta);

                trnPai.Nodes.Add(trnItem);

                this.abrirJogo(trnItem, dirFilho);
            }

            foreach (string dirArquivo in Directory.GetFiles(dirPai))
            {
                this.abrirJogoArquivo(trnPai, dirArquivo);
            }
        }
示例#2
0
        private void abrirJogoArquivo(TreeNodeRpg trnPai, string dirArquivo)
        {
            string strExtencao = Path.GetExtension(dirArquivo);

            if (string.IsNullOrEmpty(strExtencao))
            {
                return;
            }

            strExtencao = strExtencao.ToLower();

            if (this.lstStrExtensaoSuportadaAudio.Contains(strExtencao))
            {
                this.abrirJogoArquivo(trnPai, dirArquivo, new AudioDominio());
                return;
            }

            if (this.lstStrExtensaoSuportadaImagem.Contains(strExtencao))
            {
                this.abrirJogoArquivo(trnPai, dirArquivo, new ImagemDominio());
                return;
            }

            if (AppRpg.STR_EXTENSAO_MAPA.Equals(strExtencao))
            {
                this.abrirJogoArquivo(trnPai, dirArquivo, typeof(MapaDominio));
            }

            if (AppRpg.STR_EXTENSAO_PERSONAGEM.Equals(strExtencao))
            {
                this.abrirJogoArquivo(trnPai, dirArquivo, typeof(PersonagemDominio));
            }
        }
示例#3
0
        private void abrirArquivoRef(TreeNodeRpg tnr, ArquivoRefDominio arqRef)
        {
            if (arqRef.objArquivo == null)
            {
                return;
            }

            if (arqRef.objArquivo is AudioDominio)
            {
                this.abrirAudio(arqRef.objArquivo as AudioDominio);
                return;
            }

            if (arqRef.objArquivo is ImagemDominio)
            {
                this.abrirImagem(arqRef.objArquivo as ImagemDominio);
                return;
            }

            if (arqRef.objArquivo is MapaDominio)
            {
                this.abrirMapa(tnr, arqRef.objArquivo as MapaDominio);
                return;
            }

            if (arqRef.objArquivo is PersonagemDominio)
            {
                this.abrirPersonagem(tnr, arqRef.objArquivo as PersonagemDominio);
                return;
            }
        }
示例#4
0
        private void addItemCamada(TreeNodeRpg tnrPai, MapaDominio objMapa)
        {
            CamadaDominio objCamada = CamadaDominio.criar(tnrPai.Nodes.Count);

            objMapa.addCamada(objCamada);

            tnrPai.Nodes.Add(new TreeNodeRpg(objCamada));
        }
示例#5
0
        private void abrirMapa(TreeNodeRpg tnrMapa, MapaDominio objMapa, CamadaDominio objCamada)
        {
            if (objCamada == null)
            {
                return;
            }

            tnrMapa.Nodes.Add(new TreeNodeRpg(objCamada));
        }
示例#6
0
        private void selecionarItem(TreeNodeRpg tnr)
        {
            if (tnr == null)
            {
                return;
            }

            AppRpg.i.frmPrincipal.objSelecionado = tnr.objDominio;
        }
示例#7
0
        private void abrirJogoArquivo(TreeNodeRpg trnPai, string dirArquivo, Type clsArquivo)
        {
            ArquivoRefDominio arqRef = new ArquivoRefDominio();

            arqRef.attDirArquivo.strValor = dirArquivo;

            arqRef.attStrNome.strValor = Path.GetFileNameWithoutExtension(dirArquivo);

            trnPai.Nodes.Add(new TreeNodeRpg(arqRef));
        }
示例#8
0
        private void abrirMapa(TreeNodeRpg tnr, MapaDominio objMapa)
        {
            if (!AppRpg.i.frmPrincipal.abrirMapa(objMapa))
            {
                return;
            }

            foreach (CamadaDominio objCamada in objMapa.lstObjCamada)
            {
                this.abrirMapa(tnr, objMapa, objCamada);
            }
        }
示例#9
0
        private void addPersonagemMapa(TreeNodeRpg tnr)
        {
            if (tnr.objDominio == null)
            {
                return;
            }

            if (!(tnr.objDominio is ArquivoRefDominio))
            {
                return;
            }

            this.addPersonagemMapa(tnr.objDominio as ArquivoRefDominio);
        }
示例#10
0
        private void addItemPersonagem(TreeNodeRpg tnrPai, PastaDominio objPasta)
        {
            PersonagemDominio objPersonagem = PersonagemDominio.criar(tnrPai.Nodes.Count);

            objPersonagem.attDirCompleto.strValor = Path.Combine(objPasta.attDirCompleto.strValor, (objPersonagem.attStrNome.strValor + AppRpg.STR_EXTENSAO_PERSONAGEM));

            File.WriteAllText(objPersonagem.attDirCompleto.strValor, JsonRpg.i.toJson(objPersonagem));

            ArquivoRefDominio arqRef = new ArquivoRefDominio();

            arqRef.objArquivo = objPersonagem;

            tnrPai.Nodes.Add(new TreeNodeRpg(arqRef));
        }
示例#11
0
        private void addItemPersonagem(TreeNodeRpg tnrPai)
        {
            if (tnrPai.objDominio == null)
            {
                return;
            }

            if (!(tnrPai.objDominio is PastaDominio))
            {
                return;
            }

            this.addItemPersonagem(tnrPai, (tnrPai.objDominio as PastaDominio));
        }
示例#12
0
        private void addItemMapa(TreeNodeRpg tnrPai, PastaDominio objPasta)
        {
            MapaDominio objMapa = MapaDominio.criar(tnrPai.Nodes.Count);

            objMapa.attDirCompleto.strValor = Path.Combine(objPasta.attDirCompleto.strValor, (objMapa.attStrNome.strValor + AppRpg.STR_EXTENSAO_MAPA));
            objMapa.attStrNome.strValor     = Path.GetFileNameWithoutExtension(objMapa.attDirCompleto.strValor);

            File.WriteAllText(objMapa.attDirCompleto.strValor, JsonRpg.i.toJson(objMapa));

            ArquivoRefDominio arqRef = new ArquivoRefDominio();

            arqRef.objArquivo = objMapa;

            tnrPai.Nodes.Add(new TreeNodeRpg(arqRef));
        }
示例#13
0
        internal void abrirJogo()
        {
            if (AppRpg.i.objJogo == null)
            {
                return;
            }

            this.trv.Nodes.Clear();

            if (!File.Exists(AppRpg.i.objJogo.attDirCompleto.strValor))
            {
                return;
            }

            TreeNodeRpg trnJogo = new TreeNodeRpg(AppRpg.i.objJogo);

            this.trv.Nodes.Add(trnJogo);

            this.abrirJogo(trnJogo, Path.GetDirectoryName(AppRpg.i.objJogo.attDirCompleto.strValor));
        }
示例#14
0
        private void abrirMenuContexto(TreeNodeRpg tnr)
        {
            ContextMenuStrip cmsNode = new ContextMenuStrip();

            if (tnr.objDominio == null)
            {
                return;
            }

            if (tnr.objDominio is ArquivoRefDominio)
            {
                this.abrirMenuContexto(cmsNode, (tnr.objDominio as ArquivoRefDominio));
            }

            if (cmsNode.Items.Count < 1)
            {
                return;
            }

            cmsNode.Show(Cursor.Position.X, Cursor.Position.Y);
        }
示例#15
0
        private void addItemPasta(TreeNodeRpg tnrPai)
        {
            if (tnrPai.objDominio == null)
            {
                return;
            }

            if (!(tnrPai.objDominio is JogoDominio) && (tnrPai.objDominio is PastaDominio))
            {
                return;
            }

            string dirPai = Path.GetDirectoryName((tnrPai.objDominio as ArquivoDominio).attDirCompleto.strValor);

            PastaDominio objPasta = PastaDominio.criar(tnrPai.Nodes.Count);

            objPasta.attDirCompleto.strValor = Path.Combine(dirPai, objPasta.attStrNome.strValor);

            Directory.CreateDirectory(objPasta.attDirCompleto.strValor);

            tnrPai.Nodes.Add(new TreeNodeRpg(objPasta));
        }
示例#16
0
        private void processarNodeDoubleClick(TreeNodeRpg tnr)
        {
            if (tnr == null)
            {
                return;
            }

            if (tnr.objDominio == null)
            {
                return;
            }

            if (tnr.objDominio is PastaDominio)
            {
                //this.abrirPasta(tnr.objDominio as PastaDominio);
                return;
            }

            if (tnr.objDominio is ArquivoRefDominio)
            {
                this.abrirArquivoRef(tnr, (tnr.objDominio as ArquivoRefDominio));
                return;
            }
        }
示例#17
0
        private void addItemCamada(TreeNodeRpg tnr)
        {
            if (tnr.objDominio == null)
            {
                return;
            }

            if (!(tnr.objDominio is ArquivoRefDominio))
            {
                return;
            }

            if ((tnr.objDominio as ArquivoRefDominio).objArquivo == null)
            {
                return;
            }

            if (!((tnr.objDominio as ArquivoRefDominio).objArquivo is MapaDominio))
            {
                return;
            }

            this.addItemCamada(tnr, ((tnr.objDominio as ArquivoRefDominio).objArquivo as MapaDominio));
        }
示例#18
0
 private void abrirPersonagem(TreeNodeRpg tnr, PersonagemDominio objPersonagem)
 {
     AppRpg.i.frmPrincipal.abrirPersonagem(objPersonagem);
 }