示例#1
0
            public static Color InfusionColor(InfusionTier tier)
            {
                switch (tier)
                {
                case InfusionTier.Common:
                    return(Common);

                case InfusionTier.Uncommon:
                    return(Uncommon);

                case InfusionTier.Rare:
                    return(Rare);

                case InfusionTier.Epic:
                    return(Epic);

                case InfusionTier.Legendary:
                    return(Legendary);

                case InfusionTier.Artifact:
                    return(Artifact);

                default:
                    return(Color.white);
                }
            }
示例#2
0
        public static InfusionTier Max(InfusionTier a, InfusionTier b)
        {
            if (a == InfusionTier.Undefined)
            {
                return(b);
            }
            if (b == InfusionTier.Undefined)
            {
                return(a);
            }

            return(a < b ? b : a);
        }
        public void InitializeInfusion(InfusionType type, InfusionTier tier, out Def infusion)
        {
            if (!
                (from t in DefDatabase <Def> .AllDefs
                 where
                 t.tier == tier &&
                 t.type == type &&
                 t.MatchItemType(parent.def)
                 select t
                ).TryRandomElement(out infusion))
            {
                //No infusion available from defs
                Log.Warning("Infused :: Couldn't find any " + type + "InfusionDef! Tier: " + tier);
            }

            isNew = true;
        }
示例#4
0
        static List <Def> AvailableInfusions(PoolDef pool, InfusionTier tier, Thing thing)
        {
            List <Def> infusions = new List <Def>(0);

            while (tier >= 0 && infusions.Count == 0)
            {
                infusions = (
                    from def in DefDatabase <Def> .AllDefs
                    where def.pool == pool && def.tier == tier && def.Allows(thing)
                    select def
                    ).ToList();

                if (infusions.Count == 0)
                {
                    #if DEBUG
                    Log.Warning(" > No " + tier + " infusions for " + pool.defName);
                    #endif
                    tier--;
                }
            }
            return(infusions);
        }
 public static string Translate(this InfusionTier it)
 {
     return(("Infusion" + it).Translate());
 }
 public void InitializeInfusionSuffix(InfusionTier tier)
 {
     InitializeInfusion(InfusionType.Suffix, tier, out suffix);
 }
 public void InitializeInfusionPrefix(InfusionTier tier)
 {
     InitializeInfusion(InfusionType.Prefix, tier, out prefix);
 }