コード例 #1
0
        protected override DetectedLocations getPaths(ScummVM get_me)
        {
            DetectedLocations locs = base.getPaths(get_me);

            if (install_path != null)
            {
                LocationPath      loc   = SystemLocationHandler.translateToVirtualStore(install_path);
                DetectedLocations vlocs = Core.locations.getPaths(loc);
                List <string>     keys  = new List <string>(vlocs.Keys);
                foreach (string key in keys)
                {
                    if (!filterLocation(vlocs[key], get_me, vlocs[key].owner))
                    {
                        locs.Remove(key);
                    }
                }


                locs.AddRange(locs);
            }



            return(locs);
        }
コード例 #2
0
        //protected DetectedLocations filterLocations(DetectedLocations locs, ScummVM scumm, string user) {
        //    List<string> keys = new List<string>(locs.Keys);

        //    foreach (string key in keys) {
        //        if (!filterLocation(locs[key], scumm, user)) {
        //            locs.Remove(key);
        //        }
        //    }
        //    return locs;
        //}

        protected bool filterLocation(DetectedLocationPathHolder loc, ScummVM scumm, string user)
        {
            DirectoryInfo dir     = new DirectoryInfo(loc.FullDirPath);
            string        pattern = scumm.Name + "*";

            if (dir.GetFiles(pattern).Length > 0)
            {
                loc.owner = user;
                return(true);
            }
            return(false);
        }
コード例 #3
0
        protected override DetectedLocations getPaths(ScummVM get_me)
        {
            if (get_me.Name == "scummvm")
            {
                Console.Out.Write("");
            }

            List <DetectedLocationPathHolder> paths = new List <DetectedLocationPathHolder>();

            if (Locations == null)
            {
                setup();
            }
            if (install_path != null)
            {
                paths.AddRange(loadLocations(install_path, get_me, null));
            }

            DetectedLocations return_me = new DetectedLocations();

            foreach (string user in Locations.Keys)
            {
                if (get_me.Name != "scummvm" && Locations[user].ContainsKey("scummvm"))
                {
                    foreach (DetectedLocationPathHolder path in loadLocations(Locations[user]["scummvm"], get_me, user))
                    {
                        DirectoryInfo info = new DirectoryInfo(path.FullDirPath);
                        if (info.GetFiles(get_me.Name + "*").Length > 0)
                        {
                            return_me.Add(path);
                        }
                    }
                }


                if (Locations[user].ContainsKey(get_me.Name))
                {
                    return_me.AddRange(loadLocations(Locations[user][get_me.Name], get_me, user));
                }
            }


            return(return_me);
        }
コード例 #4
0
 protected virtual DetectedLocations getPaths(ScummVM get_me)
 {
     return(new DetectedLocations());
 }
コード例 #5
0
        protected DetectedLocations loadLocations(String path, ScummVM scumm, string user)
        {
            DetectedLocations locs = Core.locations.interpretPath(path);

            return(locs);
        }