<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>属性 on GARNET LOG</title><link>https://garnetcode.jp/tags/%E5%B1%9E%E6%80%A7/</link><description>Recent content in 属性 on GARNET LOG</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Sat, 23 Nov 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://garnetcode.jp/tags/%E5%B1%9E%E6%80%A7/index.xml" rel="self" type="application/rss+xml"/><item><title>【Unity】Obsolete属性</title><link>https://garnetcode.jp/blog/2024/11/obsolete/</link><pubDate>Sat, 23 Nov 2024 00:00:00 +0000</pubDate><guid>https://garnetcode.jp/blog/2024/11/obsolete/</guid><description>&lt;h2 id="obsolete属性とは"&gt;Obsolete属性とは？&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Obsolete&lt;/code&gt;属性は、&lt;code&gt;Unity&lt;/code&gt;に限らず&lt;code&gt;C#&lt;/code&gt;言語の標準的な属性です。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;C#&lt;/code&gt;では、クラスやインターフェイス、メソッドなどのプログラム要素に情報を付与するため、&lt;/p&gt;
&lt;p&gt;属性(&lt;code&gt;Attribute&lt;/code&gt;)を使用しますが、&lt;code&gt;Obsolete&lt;/code&gt;もその一つです。&lt;/p&gt;
&lt;div class="blogcard"&gt;
&lt;a href="https://learn.microsoft.com/ja-jp/dotnet/api/system.obsoleteattribute?view=net-8.0" target="_blank" rel="noopener nofollow"&gt;
&lt;div class="blogcard-content"&gt;
&lt;span class="blogcard-label blogcard-label--external"&gt;&lt;i class="fas fa-arrow-up-right-from-square" aria-hidden="true"&gt;&lt;/i&gt;外部記事&lt;/span&gt;
&lt;div class="blogcard-title"&gt;ObsoleteAttribute クラス (System)&lt;/div&gt;
&lt;div class="blogcard-site"&gt;learn.microsoft.com&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;</description></item><item><title>【Unity】classに付与する属性</title><link>https://garnetcode.jp/blog/2024/08/class_attribute/</link><pubDate>Sat, 03 Aug 2024 00:00:00 +0000</pubDate><guid>https://garnetcode.jp/blog/2024/08/class_attribute/</guid><description>&lt;h2 id="属性とは"&gt;属性とは？&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Unity&lt;/code&gt;ではなく、&lt;code&gt;C#&lt;/code&gt;の機能として属性というものがあります。&lt;/p&gt;
&lt;div class="related-link"&gt;
&lt;div class="related-link-label"&gt;🔗 関連記事&lt;/div&gt;
&lt;div class="related-link-lead"&gt;以前に&lt;code&gt;Unity&lt;/code&gt;のインスペクタを拡張する属性について解説しています。&lt;/div&gt;
&lt;div class="blogcard"&gt;
&lt;a href="https://garnetcode.jp/blog/2024/06/inspector_attribute/" target="_blank" rel="noopener nofollow"&gt;
&lt;div class="blogcard-content"&gt;
&lt;span class="blogcard-label blogcard-label--internal"&gt;&lt;i class="fas fa-house" aria-hidden="true"&gt;&lt;/i&gt;内部記事&lt;/span&gt;
&lt;div class="blogcard-title"&gt;【Unity】インスペクタを拡張する属性 - GARNET LOG&lt;/div&gt;
&lt;div class="blogcard-site"&gt;GARNET LOG&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;今回はコンポーネントに付与する属性について説明します。&lt;/p&gt;</description></item><item><title>【Unity】インスペクタを拡張する属性</title><link>https://garnetcode.jp/blog/2024/06/inspector_attribute/</link><pubDate>Sun, 02 Jun 2024 00:00:00 +0000</pubDate><guid>https://garnetcode.jp/blog/2024/06/inspector_attribute/</guid><description>&lt;h2 id="属性とは"&gt;属性とは？&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;Unity&lt;/code&gt;ではなく、&lt;code&gt;C#&lt;/code&gt;の機能として&lt;code&gt;属性(Attribute)&lt;/code&gt;というものがあります。&lt;/p&gt;
&lt;div class="blogcard"&gt;
&lt;a href="https://learn.microsoft.com/ja-jp/dotnet/api/system.attribute?view=net-8.0" target="_blank" rel="noopener nofollow"&gt;
&lt;div class="blogcard-content"&gt;
&lt;span class="blogcard-label blogcard-label--external"&gt;&lt;i class="fas fa-arrow-up-right-from-square" aria-hidden="true"&gt;&lt;/i&gt;外部記事&lt;/span&gt;
&lt;div class="blogcard-title"&gt;Attribute クラス (System)&lt;/div&gt;
&lt;div class="blogcard-site"&gt;learn.microsoft.com&lt;/div&gt;
&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;属性とはクラス、メンバー(フィールドやメソッドなど)に追加の情報を与えるためのものです。&lt;/p&gt;
&lt;p&gt;例えば、以下の様なコードに含まれる&lt;code&gt;[SerializeField]&lt;/code&gt;の部分です。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;private&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; Player : MonoBehaviour
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt; [SerializeField]&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;private&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; _hp;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;通常、&lt;code&gt;private&lt;/code&gt;変数はシリアライズされずインスペクタ上にも表示されません。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[SerializeField]&lt;/code&gt; が指定されている場合は、インスペクタ上に表示され、編集した結果もシリアライズされるため、&lt;/p&gt;
&lt;p&gt;シーンやプレハブ中で保持されるようになります。&lt;/p&gt;</description></item><item><title>【Unity】Flags属性について</title><link>https://garnetcode.jp/blog/2024/05/enum_flags/</link><pubDate>Sat, 18 May 2024 00:00:00 +0000</pubDate><guid>https://garnetcode.jp/blog/2024/05/enum_flags/</guid><description>&lt;h2 id="はじめに"&gt;はじめに&lt;/h2&gt;
&lt;p&gt;C#には、&lt;code&gt;enum(列挙型)&lt;/code&gt;というものがあります。&lt;/p&gt;
&lt;p&gt;以下の様に記述します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;public&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;enum&lt;/span&gt; JobType
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Fighter = &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Magician,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Preast,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Thief,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Paladin,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;定数をまとめたような型で、列挙型に含まれる定数を列挙子といいます。&lt;/p&gt;
&lt;p&gt;Fighterに0を指定してますが、0であれば省略できます。&lt;/p&gt;
&lt;p&gt;以降の列挙子は1ずつ増えていくので、&lt;/p&gt;
&lt;p&gt;Magicianは1,Preastは2となっています。&lt;/p&gt;
&lt;p&gt;ゲーム中でよく使う職業や属性をint型としておくより、専用の列挙型を用意してあげると、&lt;/p&gt;
&lt;p&gt;コード上分かりやすくなります。&lt;/p&gt;
&lt;p&gt;連番の定数を沢山定義している場合は列挙型を使えないか検討しましょう。&lt;/p&gt;</description></item></channel></rss>