Empt1nessのブログ -18ページ目

Empt1nessのブログ

誰かに依存したいとか考えてました。
健全でいたいです。

私に何か求めたり何かすがろうとしても私は無視しますからね。
お互いのために距離は置きませんか。

皆さんは、一応チューニングからtdescへとチューニングの内容を確認したことはあると思いますが、一応、 SocialSuperInteraction を例に、script側から見る方法を教えます。

social_super_interaction.pyの中身の

class SocialSuperInteraction(SocialInteractionMixin, SocialCompatibilityMixin, SuperInteraction):

というクラスと

0x1C2B2のインスタンスのxmlを見ます

<I c="SocialSuperInteraction" i="interaction" m="interactions.social.social_super_interaction" n="scientist_MindControl_Clean" s="115378">

って書いてあります。

これを見る限り、c=""は、c="クラス"ということがわかります。

i="interaction"は、わからん

m="は、simulation.interactions.social.social_super_interaction"

を表してるので、多分classの置き場所を示しています。

n=""は、名前、s=""はインスタンスの10進数だと思います。

という感じで、個々の解説はOK

てことで本題その中の、チューニングの検索です

まず、最初の、 <V n="_icon" t="resource_key"> では、_iconがあるので、それをスクリプト内で、検索''をつけると簡単に検索できます

'allow_autonomous '

""じゃだめです

'_icon': TunableIconVariant(description='\n            The icon to be displayed i...
ってやつが見つかりました。
これを見るとTunableIconVariantってやつで、descriptionってやつで説明を書いてるらしい。
cls._iconで中身を、取得をしているらしい
@classmethod
    def _get_icon(cls, interaction):
        return cls._icon(interaction)
から、
 @flexmethod
    def get_icon_info(cls, inst, target=DEFAULT, context=DEFAULT):
        inst_or_cls = inst if inst is not None else cls
        resolver = inst_or_cls.get_resolver(target=target, context=context)
        icon_info = inst_or_cls._get_icon(resolver)
        if icon_info is not None:
            return icon_info
        else:
            target = inst.target if inst is not None else target
            if target is not DEFAULT and target is not None:
                return IconInfoData(icon_resource=target.icon)
        return EMPTY_ICON_INFO_DATA
にたどり着く、見た感じ、_get_iconから、resolverから、取得し、icon_infoがあれば、IconInfoDataをtargetから取得してるらし、それを返しているっぽい
まあこんな感じで、iconのscriptを調べることができました
次では、もう一つ実験としてやるつもりです