public override void _Ready() { TrySetup(); if (data == null) { data = CharacterAppearanceData.Random(); } }
/*** generation ***/ public static CharacterAppearanceData Random() { CharacterAppearanceData data = new CharacterAppearanceData(); // Parts data.eyes = Global.rng.Next(MIN_EYES, MAX_EYES); data.head = Global.rng.Next(MIN_HEAD, MAX_HEAD); data.body = Global.rng.Next(MIN_BODY, MAX_HEAD); // Color info data.skinColor = RandomSkinColor(); // TODO : Other Dispositions data.disposition = PRIMARY_HAIR; // TODO : primary color depends on skin, and element affinity Color primary = RandomPrimaryColor(); // TODO : hair color random and depends on skin, element affinity, and primary Color secondary = RandomSecondaryColor(primary); Color eyes = RandomPrimaryColor(); data.colors = new Color[] { primary, secondary, eyes }; return(data); }