Пример #1
0
        public static TriColorGraphic Get(
            System.Type graphicClass,
            string path,
            Shader shader,
            Vector2 drawSize,
            Color color,
            Color colorTwo,
            Color colorThree,
            GraphicData data,
            List <ShaderParameter> shaderParameters)
        {
            TriColorGraphicRequest req = new TriColorGraphicRequest(graphicClass, path, shader, drawSize, color, colorTwo, colorThree, data, 0, shaderParameters);

            if (req.graphicClass == typeof(Graphic_Multi))
            {
                return((TriColorGraphic)TriColorGraphicDatabase.GetInner <TriColorGraphic_Multi>(req));
            }
            try
            {
                return((TriColorGraphic)GenGeneric.InvokeStaticGenericMethod(typeof(TriColorGraphicDatabase), req.graphicClass, "GetInner", (object)req));
            }
            catch (Exception ex)
            {
                Log.Error("Exception getting " + (object)graphicClass + " at " + path + ": " + ex.ToString(), false);
            }
            return((TriColorGraphic)BaseContent.BadGraphic);
        }
Пример #2
0
        public static Graphic Get(Type graphicClass, string path, Shader shader, Vector2 drawSize, Color color, Color colorTwo, GraphicData data, List <ShaderParameter> shaderParameters)
        {
            GraphicRequest graphicRequest = new GraphicRequest(graphicClass, path, shader, drawSize, color, colorTwo, colorThree, data, 0, shaderParameters);

            if (graphicRequest.graphicClass == typeof(Graphic_Single))
            {
                return(GraphicDatabase.GetInner <Graphic_Single>(graphicRequest));
            }
            if (graphicRequest.graphicClass == typeof(Graphic_Terrain))
            {
                return(GraphicDatabase.GetInner <Graphic_Terrain>(graphicRequest));
            }
            if (graphicRequest.graphicClass == typeof(Graphic_Multi))
            {
                return(GraphicDatabase.GetInner <Graphic_Multi>(graphicRequest));
            }
            if (graphicRequest.graphicClass == typeof(Graphic_Mote))
            {
                return(GraphicDatabase.GetInner <Graphic_Mote>(graphicRequest));
            }
            if (graphicRequest.graphicClass == typeof(Graphic_Random))
            {
                return(GraphicDatabase.GetInner <Graphic_Random>(graphicRequest));
            }
            if (graphicRequest.graphicClass == typeof(Graphic_Flicker))
            {
                return(GraphicDatabase.GetInner <Graphic_Flicker>(graphicRequest));
            }
            if (graphicRequest.graphicClass == typeof(Graphic_Appearances))
            {
                return(GraphicDatabase.GetInner <Graphic_Appearances>(graphicRequest));
            }
            if (graphicRequest.graphicClass == typeof(Graphic_StackCount))
            {
                return(GraphicDatabase.GetInner <Graphic_StackCount>(graphicRequest));
            }
            try
            {
                return((Graphic)GenGeneric.InvokeStaticGenericMethod(typeof(GraphicDatabase), graphicRequest.graphicClass, "GetInner", new object[]
                {
                    graphicRequest
                }));
            }
            catch (Exception ex)
            {
                Log.Error(string.Concat(new object[]
                {
                    "Exception getting ",
                    graphicClass,
                    " at ",
                    path,
                    ": ",
                    ex.ToString()
                }), false);
            }
            return(BaseContent.BadGraphic);
        }
 public static Def GetDefSilentFail(Type type, string targetDefName)
 {
     if (type == typeof(SoundDef))
     {
         return(SoundDef.Named(targetDefName));
     }
     return((Def)GenGeneric.InvokeStaticMethodOnGenericType(typeof(DefDatabase <>), type, "GetNamedSilentFail",
                                                            new object[]
     {
         targetDefName
     }));
 }
Пример #4
0
 private static void ClearAllPlayData()
 {
     LanguageDatabase.Clear();
     LoadedModManager.ClearDestroy();
     foreach (Type genericParam in GenTypes.AllSubclasses(typeof(Def)))
     {
         GenGeneric.InvokeStaticMethodOnGenericType(typeof(DefDatabase <>), genericParam, "Clear");
     }
     ThingCategoryNodeDatabase.Clear();
     BackstoryDatabase.Clear();
     SolidBioDatabase.Clear();
     PlayDataLoader.loaded = false;
 }
        static PRFDefOf()
        {
            Type thisType = typeof(PRFDefOf);

            FieldInfo[] fields = thisType.GetFields();
            for (int i = 0; i < fields.Length; i++)
            {
                object def = GenGeneric.InvokeStaticMethodOnGenericType(typeof(DefDatabase <>), fields[i].FieldType, "GetNamedSilentFail", fields[i].Name);
                if (def != null)
                {
                    fields[i].SetValue(null, def);
                }
            }
        }
Пример #6
0
        private static void ClearAllPlayData()
        {
            LanguageDatabase.Clear();
            // A14 - ModContentPackManager was removed?
            LoadedModManager.ClearDestroy();
            foreach (Type genericParam in GenTypes.AllSubclasses(typeof(Def)))
            {
                GenGeneric.InvokeStaticMethodOnGenericType(typeof(DefDatabase <>), genericParam, "Clear");
            }
            ThingCategoryNodeDatabase.Clear();
            BackstoryDatabase.Clear();
            SolidBioDatabase.Clear();

            PlayDataLoader_loaded.SetValue(null, false);
        }
Пример #7
0
        private void SetBadgeSetVisibility(List <BadgeDef> badgeSet, bool visible, bool transparent)
        {
            var workingSet = new List <BadgeDef>();

            foreach (BadgeDef badgeDef in badgeSet)
            {
                if (transparent)
                {
                    workingSet.Add(new BadgeDef
                    {
                        icon        = badgeDef.icon.Replace("/", "Transparent/"),
                        defName     = badgeDef.defName + "Trans",
                        label       = badgeDef.label,
                        description = badgeDef.description
                    });
                }
                else
                {
                    workingSet.Add(badgeDef);
                }
            }
            var currentDefs = (from dd in DefDatabase <BadgeDef> .AllDefsListForReading where dd.icon == workingSet[0].icon select dd).ToList();
            //Log.Message("current: " + string.Join(",", DefDatabase<BadgeDef>.AllDefsListForReading));
            //Log.Message("new: " + string.Join(",", workingSet));
            bool exist = currentDefs.Count > 0;

            if (visible && !exist)
            {
                Log.Message("Pawn Badge CC: Adding Badge-set to database, emblem: " + workingSet[0].icon);
                DefDatabase <BadgeDef> .Add(workingSet);

                return;
            }
            if (!visible && exist)
            {
                Log.Message("Pawn Badge CC: Removing Badge-set from database, emblem: " + workingSet[0].icon);
                foreach (BadgeDef badgeDef in (from dr in DefDatabase <BadgeDef> .AllDefsListForReading where dr.defName.StartsWith(workingSet[0].defName.Substring(0, 3)) && dr.defName.EndsWith("Trans") == transparent select dr).ToList())
                {
                    GenGeneric.InvokeStaticMethodOnGenericType(typeof(DefDatabase <>), typeof(BadgeDef), "Remove", new object[] { badgeDef });
                }
            }
        }
Пример #8
0
        public static Graphic_RGB Get(Type graphicClass, string path, Shader shader, Vector2 drawSize, Color color, Color colorTwo, Color colorThree, float tiles = 1, float displacementX = 0, float displacementY = 0, GraphicDataRGB data = null, List <ShaderParameter> shaderParameters = null)
        {
            GraphicRequestRGB graphicRequest = new GraphicRequestRGB(graphicClass, path, shader, drawSize, color, colorTwo, colorThree, tiles, new Vector2(displacementX, displacementY), data, 0, shaderParameters);

            if (graphicRequest.graphicClass == typeof(Graphic_Vehicle))
            {
                return(GetInner <Graphic_Vehicle>(graphicRequest));
            }
            if (graphicRequest.graphicClass == typeof(Graphic_Cannon))
            {
                return(GetInner <Graphic_Cannon>(graphicRequest));
            }
            if (graphicRequest.graphicClass == typeof(Graphic_CannonAnimate))
            {
                return(GetInner <Graphic_CannonAnimate>(graphicRequest));
            }
            try
            {
                return((Graphic_RGB)GenGeneric.InvokeStaticGenericMethod(typeof(GraphicDatabaseRGB), graphicRequest.graphicClass, "GetInner", new object[]
                {
                    graphicRequest
                }));
            }
            catch (Exception ex)
            {
                Log.Error(string.Concat(new object[]
                {
                    "Exception getting ",
                    graphicClass,
                    " at ",
                    path,
                    ": ",
                    ex.ToString()
                }));
            }
            return(null);
        }
Пример #9
0
        private static IEnumerable <Def> EnumerateAllDefs()
        {
            bool fast = false;

            if (fast)
            {
                foreach (var mod in LoadedModManager.RunningModsListForReading)
                {
                    if (mod == null)
                    {
                        continue;
                    }

                    foreach (var def in mod.AllDefs)
                    {
                        yield return(def);
                    }
                }

                foreach (var def in LoadedModManager.PatchedDefsForReading)
                {
                    yield return(def);
                }
            }
            else
            {
                foreach (var type in GenDefDatabase.AllDefTypesWithDatabases())
                {
                    foreach (var def in (IEnumerable)GenGeneric.GetStaticPropertyOnGenericType(typeof(DefDatabase <>), type, "AllDefs"))
                    {
                        var finalDef = def as Def;
                        yield return(finalDef);
                    }
                }
            }
        }
Пример #10
0
 public override void GenerateTestData()
 {
     base.GenerateTestData();
     this.defData = TaleData_Def.GenerateFrom((Def)GenGeneric.InvokeStaticMethodOnGenericType(typeof(DefDatabase <>), this.def.defType, "GetRandom"));
 }
Пример #11
0
        public static AvaliGraphic Get(
            System.Type graphicClass,
            string path,
            Shader shader,
            Vector2 drawSize,
            Color color,
            Color colorTwo,
            Color colorThree,
            AvaliGraphicData data,
            List <ShaderParameter> shaderParameters)
        {
            AvaliGraphicRequest req = new AvaliGraphicRequest(graphicClass, path, shader, drawSize, color, colorTwo, colorThree, data, 0, shaderParameters);

            // liQdComment 2 This is what the game requests
            if (req.graphicClass == typeof(Graphic_Multi))
            {
                //Log.Message("AvaliGraphic request of type Graphic_Multi");
                return((AvaliGraphic)AvaliGraphicDatabase.GetInner <AvaliGraphic_Multi>(req));
            }
            if (req.graphicClass == typeof(AvaliGraphic_Single))
            {
                return((AvaliGraphic)AvaliGraphicDatabase.GetInner <AvaliGraphic_Single>(req));
            }
            if (req.graphicClass == typeof(AvaliGraphic_Terrain))
            {
                return((AvaliGraphic)AvaliGraphicDatabase.GetInner <AvaliGraphic_Terrain>(req));
            }
            if (req.graphicClass == typeof(AvaliGraphic_Multi))
            {
                return((AvaliGraphic)AvaliGraphicDatabase.GetInner <AvaliGraphic_Multi>(req));
            }
            if (req.graphicClass == typeof(AvaliGraphic_Mote))
            {
                return((AvaliGraphic)AvaliGraphicDatabase.GetInner <AvaliGraphic_Mote>(req));
            }
            if (req.graphicClass == typeof(AvaliGraphic_Random))
            {
                return((AvaliGraphic)AvaliGraphicDatabase.GetInner <AvaliGraphic_Random>(req));
            }
            if (req.graphicClass == typeof(AvaliGraphic_Flicker))
            {
                return((AvaliGraphic)AvaliGraphicDatabase.GetInner <AvaliGraphic_Flicker>(req));
            }
            if (req.graphicClass == typeof(AvaliGraphic_Appearances))
            {
                return((AvaliGraphic)AvaliGraphicDatabase.GetInner <AvaliGraphic_Appearances>(req));
            }
            if (req.graphicClass == typeof(AvaliGraphic_StackCount))
            {
                return((AvaliGraphic)AvaliGraphicDatabase.GetInner <AvaliGraphic_StackCount>(req));
            }
            try
            {
                return((AvaliGraphic)GenGeneric.InvokeStaticGenericMethod(typeof(AvaliGraphicDatabase), req.graphicClass, "GetInner", (object)req));
            }
            catch (Exception ex)
            {
                Log.Error("Exception getting " + (object)graphicClass + " at " + path + ": " + ex.ToString(), false);
            }
            return(AvaliBaseContent.BadGraphic);
        }