Пример #1
0
        public void It_Returns_A_Root_Path_Without_A_Trailing_Slash()
        {
            var actionMap = ActionLoader.LoadActionMap(new Dictionary <Type, string> {
                { typeof(Fiction), "/book/fiction" }
            });

            Assert.IsTrue(actionMap.ContainsKey("GET /book/fiction"));
        }
Пример #2
0
        public void It_Returns_A_Method_From_A_Route()
        {
            var actionMap = ActionLoader.LoadActionMap(new Dictionary <Type, string> {
                { typeof(Fiction), "/book/fiction" }
            });

            Assert.AreEqual(typeof(Fiction).GetMethod("Create"), actionMap["POST /book/fiction/create"]);
        }
Пример #3
0
 public static void AddActionLoader(string name, ActionLoader loader, bool overrideable = false)
 {
     if (overrideable)
     {
         ActionLoaders.AddOverrideable(name, loader);
     }
     else
     {
         ActionLoaders.Add(name, loader);
     }
 }
Пример #4
0
        private static object DoLoad(string file, string ext)
        {
            if (ext == "grf")
            {
                return(File.OpenRead(file));
            }
            else
            {
                using (var br = ReadSync(file)) {
                    if (br == null)
                    {
                        throw new Exception($"Could not load file: {file}");
                    }

                    switch (ext)
                    {
                    // Images
                    case "jpg":
                    case "jpeg":
                    case "png":
                        return(new RawImage()
                        {
                            data = br.ToArray()
                        });

                    case "bmp":
                        return(loader.LoadBMP(br));

                    case "tga":
                        return(TGALoader.LoadTGA(br));

                    // Text
                    case "txt":
                    case "xml":
                    case "lua":
                        return(Encoding.UTF8.GetString(br.ToArray()));

                    case "spr":
                        SPR spr = SpriteLoader.Load(br);
                        spr.SwitchToRGBA();
                        spr.Compile();
                        spr.filename = file;
                        return(spr);

                    case "str":
                        return(EffectLoader.Load(br, Path.GetDirectoryName(file).Replace("\\", "/")));

                    case "act":
                        return(ActionLoader.Load(br));

                    // Binary
                    case "gat":
                        return(AltitudeLoader.Load(br));

                    case "rsw":
                        return(WorldLoader.Load(br));

                    case "gnd":
                        return(GroundLoader.Load(br));

                    case "rsm":
                        return(ModelLoader.Load(br));

                    // Audio
                    case "wav":
                        WAVLoader.WAVFile wav  = WAVLoader.OpenWAV(br.ToArray());
                        AudioClip         clip = AudioClip.Create(file, wav.samples, wav.channels, wav.sampleRate, false);
                        clip.SetData(wav.leftChannel, 0);
                        return(clip);

                    case "mp3":
                    case "ogg":
                        break;

                    case "json":
                        return(JObject.Parse(Encoding.UTF8.GetString(br.ToArray())));

                    default:
                        throw new Exception($"Unsuported file format: {ext} for file {file}");
                    }
                }
            }
            return(null);
        }
Пример #5
0
 public TabascoBase()
 {
     _actionMap = ActionLoader.GetActionMap(GetType());
     _actionMap = _actionMap.OrderByDescending(x => x.Key.Length).ToDictionary(pair => pair.Key,
                                                                               pair => pair.Value);
 }
Пример #6
0
 private void Awake()
 {
     instance = this;
     _loader = GetComponent<Image>();
 }