Exemplo n.º 1
0
            static void Postfix(MoraleTooltipData __instance, SimGameState sim, int moraleLevel)
            {
                try
                {
                    SimGameState simGameState = sim ?? UnityGameInstance.BattleTechGame.Simulation;
                    if (simGameState == null)
                    {
                        return;
                    }

                    // Get
                    //BaseDescriptionDef levelDescription = (BaseDescriptionDef)AccessTools.Property(typeof(MoraleTooltipData), "levelDescription").GetValue(__instance, null);

                    string levelDescriptionName    = "Morale: " + simGameState.GetDescriptorForMoraleLevel(moraleLevel);
                    string levelDescriptionDetails = "At this level of morale, you will gain " + __instance.resolvePerTurn + " Resolve points per round of battle.";
                    //Logger.Debug("[MoraleTooltipData_Constructor_POSTFIX] levelDescriptionName: " + levelDescriptionName);
                    //Logger.Debug("[MoraleTooltipData_Constructor_POSTFIX] levelDescriptionDetails: " + levelDescriptionDetails);
                    BaseDescriptionDef customLevelDescription = new BaseDescriptionDef("TooltipMoraleCustom", levelDescriptionName, levelDescriptionDetails, "");

                    // Set
                    //BaseDescriptionDef levelDescription = AccessTools.Property(typeof(MoraleTooltipData), "levelDescription").SetValue(__instance, customLevelDescription, null);
                    new Traverse(__instance).Property("levelDescription").SetValue(customLevelDescription);
                }
                catch (Exception e)
                {
                    Logger.Error(e);
                }
            }