Example #1
0
        internal override string ToTimelineString()
        {
            var timelinestring = base.ToTimelineString();

            return
                ($"{timelinestring} {Hf?.ToString() ?? HfId.ToString()} {" linked to "} {Hf_Target?.ToString() ?? HfId_Target.ToString()}.");
        }
Example #2
0
        protected override string LegendsDescription()
        {
            var timestring = base.LegendsDescription();

            var claimer = (Hf == null ? Entity?.ToString() : Hf.ToString());

            if (Claim.HasValue)
            {
                switch (Claims[Claim.Value])
                {
                case "heirloom":
                    return($"{timestring} {Artifact} was made a family heirloom by {claimer}");

                case "treasure":
                    return($"{timestring} {Artifact} was claimed by {claimer}");

                case "symbol":
                    return($"{timestring} {Artifact} was made a symbol of the king by {claimer}");

                default:
                    return($"{timestring} {Artifact} was claimed by {claimer}");
                }
            }
            return($"{timestring} {Artifact} was claimed by {claimer}");
        }
Example #3
0
        protected override string LegendsDescription() //Matched
        {
            var timestring = base.LegendsDescription();

            if (UnitType.HasValue)
            {
                return($"{timestring} {(Hf == null ? "UNKNOWN" : Hf.ToString())} recruited {UnitTypes[UnitType.Value]} into {Entity} in {Site.AltName}.");
            }
            return($"{timestring} {(Hf == null ? "UNKNOWN" : Hf.ToString())} recruited {UnitTypes[UnitType.Value]} into {Entity} in {Site.AltName}.");
        }
Example #4
0
        internal override string ToTimelineString()
        {
            var timelinestring = base.ToTimelineString();

            if (!HfId_Concluder.HasValue)
            {
                return
                    ($"{timelinestring} {Hf?.ToString() ?? "UNKNOWN"} performed ritual at {Site?.ToString() ?? "UNKNOWN"} with {Artifact?.ToString() ?? "UNKNOWN"}.");
            }
            return($"{timelinestring} Agreement formed");
        }
Example #5
0
        internal override string ToTimelineString()
        {
            var timelinestring = base.ToTimelineString();

            if (Site != null)
            {
                return
                    ($"{timelinestring} {Hf?.ToString() ?? HfId.ToString()} came back from the dead as a {Ghost} in {Site.AltName}*");
            }
            return
                ($"{timelinestring} {Hf?.ToString() ?? HfId.ToString()} came back from the dead as a {Ghost}");
        }
Example #6
0
        internal override string ToTimelineString()
        {
            //TODO: Incorporate new data
            var timelinestring = base.ToTimelineString();

            if (Site != null)
            {
                return
                    ($"{timelinestring} {Hf?.ToString() ?? HfId.ToString()} changed jobs at {Site.AltName}");
            }
            return($"{timelinestring} {Hf?.ToString() ?? HfId.ToString()} changed jobs");
        }
Example #7
0
        protected override string LegendsDescription() //Matched
        {
            var timestring = base.LegendsDescription();

            if (!Position.HasValue || HFEntityLink.Positions[Position.Value] == "-1")
            {
                return($"{timestring} {Hf?.ToString() ?? "UNKNOWN"} left the {Entity}.");
            }
            if (Hf == null)
            {
                return($"{timestring} {"UNKNOWN"} became the {HFEntityLink.Positions[Position.Value]} of {Entity}.");
            }
            return
                ($"{timestring} the {Hf.Race.ToString().ToLower()} {Hf} ceased to be the {HFEntityLink.Positions[Position.Value]} of {Entity}.");
        }
Example #8
0
        static void Main(string[] args)
        {
            foreach (var t in TypesToExport)
            {
                ExportClass(t);
            }

            foreach (var Cf in Cppfiles)
            {
                Cf.WriteFile();
            }
            foreach (var Hf in Hfiles)
            {
                Hf.WriteFile();
            }
        }
Example #9
0
        internal override void Export(string table)
        {
            base.Export(table);

            table = GetType().Name;

            var vals = new List <object>
            {
                Id,
                AgreementId,
                Hf.DBExport(),
                Site.DBExport(),
                Artifact.DBExport(),
                HfId_Concluder.DBExport(),
                AgreementSubjectId.DBExport(),
                Reason.DBExport()
            };

            Database.ExportWorldItem(table, vals);
        }
Example #10
0
        internal override string ToTimelineString()
        {
            //TODO: Incorporate new data
            var timelinestring = base.ToTimelineString();

            if (Site == null)
            {
                if (Hf_Slayer == null)
                {
                    return($"{timelinestring} {Hf?.ToString() ?? HfId.ToString()} died.");
                }
                return($"{timelinestring} {Hf?.ToString() ?? HfId.ToString()} killed by {Hf_Slayer}.");
            }
            if (Hf_Slayer == null)
            {
                return($"{timelinestring} {Hf?.ToString() ?? HfId.ToString()} died at {Site.AltName}");
            }
            return
                ($"{timelinestring} {Hf?.ToString() ?? HfId.ToString()} killed at {Site.AltName} by {Hf_Slayer}");
        }
Example #11
0
        protected override string LegendsDescription()
        {
            var timestring = base.LegendsDescription();

            if (!Position.HasValue || HFEntityLink.Positions[Position.Value] == "-1")
            {
                if (HfEntityLink != null)
                {
                    switch (HFEntityLink.LinkTypes[HfEntityLink.LinkType])
                    {
                    case "member":
                    case "former member":
                        if (Entity.Civilization.Leaders["master"].Any(x => x.Hf == Hf))
                        {
                            return($"{timestring} {Hf?.ToString() ?? "UNKNOWN"} became the master of {Entity}.");
                        }
                        return($"{timestring} {Hf?.ToString() ?? "UNKNOWN"} became a {HFEntityLink.LinkTypes[HfEntityLink.LinkType]} of {Entity}.");

                    case "prisoner":
                    case "former prisoner":
                        return($"{timestring} {Hf?.ToString() ?? "UNKNOWN"} was imprisoned by {Entity}.");

                    default:
                        return($"{timestring} {Hf?.ToString() ?? "UNKNOWN"} became a {HFEntityLink.LinkTypes[HfEntityLink.LinkType]} of {Entity}.");
                    }
                    return
                        ($"{timestring} {Hf?.ToString() ?? "UNKNOWN"} became a {HFEntityLink.LinkTypes[HfEntityLink.LinkType]} of {Entity}.");
                }
                return
                    ($"{timestring} {Hf?.ToString() ?? "UNKNOWN"} became a {(LinkType.HasValue ? HFEntityLink.LinkTypes[LinkType.Value] : "UNKNOWN")} of {Entity}.");
            }
            if (Hf == null)
            {
                return($"{timestring} {"UNKNOWN"} became the {HFEntityLink.Positions[Position.Value]} of {Entity}.");
            }

            return
                ($"{timestring} the {Hf.Race.ToString().ToLower()} {Hf} became the {HFEntityLink.Positions[Position.Value]} of {Entity}.");
        }
Example #12
0
        protected override string LegendsDescription()
        {
            var timestring = base.LegendsDescription();

            if (!HfId_Concluder.HasValue)
            {
                return
                    ($"{timestring} {God?.ToString() ?? "UNKNOWN"} aided the {Hf?.Race.ToString() ?? "UNKNOWN"} {Hf?.ToString() ?? "UNKNOWN"} in becoming a permanent part of the living world\n that great fortresses might be raised and tested in siege. " +
                     $"The ritual took place in {Site?.ToString() ?? "UNKNOWN"} using {Artifact?.ToString() ?? "UNKNOWN"}");
            }
            return($"{timestring} Agreement formed");
        }
Example #13
0
        protected override string LegendsDescription()
        {
            var timestring = base.LegendsDescription();

            if (NewJob.HasValue && OldJob.HasValue)
            {
                if (Unit.JobTypes[NewJob.Value] != "standard")
                {
                    return
                        ($"{timestring} {Hf.Race} {Hf} became {Unit.JobTypes[NewJob.Value]} in {(Site != null ? Site.AltName : Subregion.Name.ToTitleCase())}.");
                }
                return
                    ($"{timestring} {Hf.Race} {Hf} stopped being a {Unit.JobTypes[OldJob.Value]} in {(Site != null ? Site.AltName : Subregion.Name)}.");
            }
            return($"{timestring} {Hf?.Race?.ToString() ?? ""} {(Hf == null ? "UNKNOWN" : Hf.ToString())} became {"UNKNOWN"} in {(Site != null ? Site.AltName : (Subregion != null ? Subregion.Name.ToTitleCase() : "UNKNOWN"))}.");
        }
Example #14
0
        public static void Main(string[] args)
        {
            // check input
            // ===========
            if (args.Length != 1 || !Directory.Exists(args[0]))
            {
                Console.WriteLine("BoSSS - Code generator for C++ bindings.");
                Console.WriteLine("usage: ");
                Console.WriteLine("      ExteranlBinding.CodeGen.exe {OuputDir}");

                if (args.Length < 1)
                {
                    Console.Error.WriteLine("Unable to get output directory.");
                }
                else if (!Directory.Exists(args[0]))
                {
                    Console.Error.WriteLine("Directory >{0}< does not seem to exist.");
                }

                Console.Error.WriteLine("exiting");
                return;
            }
            string outputDir = args[0];



            // create type decls
            // =================
            CreatePrototypeDeclarations();

            // create wrapper code
            // ===================
            foreach (var t in TypesToExport)
            {
                ExportClass(t);
            }

            // add includes to C++ file
            // ========================
            foreach (var Cf in Cppfiles)
            {
                foreach (var Hf in Hfiles)
                {
                    Cf.IncludeDirectives.Add("#include \"" + Hf.FileName + CodeGenHeaderFile.HeaderFileSuffix + "\"");
                }
            }

            // Master include
            // ==============
            GenerateMasterInclude();

            // Mono interface wrappers
            // =======================

            GenerateGlobals();


            // write code
            // ==========

            foreach (var Cf in Cppfiles)
            {
                Cf.WriteFile(outputDir);
            }
            foreach (var Hf in Hfiles)
            {
                Hf.WriteFile(outputDir);
            }

            // Write additional files
            // ======================

            File.WriteAllText(Path.Combine(outputDir, "compile.sh"), Resources.compile_sh);
            //File.WriteAllText(Path.Combine(outputDir, "MonoBoSSSglobals.h"), Resources.MonoBoSSSglobals_h);
            //File.WriteAllText(Path.Combine(outputDir, "MonoBoSSSglobals.cpp"), Resources.MonoBoSSSglobals_cpp);
            File.WriteAllText(Path.Combine(outputDir, "ExtBindingTest.cpp"), Resources.ExtBindingTest_cpp);
        }