3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[Unity] partialを使ってコンフィグを分けてみる

Last updated at Posted at 2019-10-31

※あくまで個人的にこう使うと便利かもレベルです。
(partialって何?ってのはここでは省きます。簡単に言えばクラスの定義を複数ファイルにまたいで行うことができるもの。)
##ゲーム内のコンフィグをまとめてみる
Unityでゲームを作る上でファイルのパスやステータスなどの定数、PlayerPrefsのkeyなどの定数を定める静的クラスを作ると思います。
例えば、ファイルのパス、敵のステータス、PlayerPrefsのKeyをまとめたConfigクラスを作ったとします。
####Config.cs

Config.cs
public static class Config
{
    public static class Path
    {
        public const string Prefabs = "Prefabs/";
        public const string BGM = "Audio/BGM/";
        public const string SE = "Audio/SE/";
    }

    public static class Enemy
    {
        public const int HP = 10;
        public const int Power = 5;
        public const float Speed = 2.5f;
    }

    public static class Key
    {
        public const string SaveData = "SaveData";
    }
}

現状はまだ内部に3つのクラスしかないのでまだゴチャゴチャしていないのですが、これが制作が進むにつれてプレイヤーのステータスであったり、タグの名前、ファイルの名前などのクラスをどんどん追加していくと可読性も下がりますし何よりどれがどこにあるのかが分からなくなってきます。
そんな時にpartialを使ってファイルを分けます。
例として今回は上のConfigクラスをpartialクラスにして大きく2つのファイルに分けてみます。
大まかな分けかたの基準として今回はアプリの設定(Path、Key)ゲームの設定(Enemy)として、新たにAppSettingGameSettingのファイルを作り、分けてみます。
####AppSetting.cs

AppSetting.cs
public static partial class Config
{
    public static class Path
    {
        public const string Prefabs = "Prefabs/";
        public const string BGM = "Audio/BGM/";
        public const string SE = "Audio/SE/";
    }

    public static class Key
    {
        public const string SaveData = "SaveData";
    }
}

####GameSetting.cs

GameSetting.cs
public static partial class Config
{
     public static class Enemy
    {
        public const int HP = 10;
        public const int Power = 5;
        public const float Speed = 2.5f;
    }
}

※ファイル名とクラス名が一致しませんがstaticかつpartialクラスであるため問題ありません。
こうすることで同じクラスに属してかつファイルを分けることができます。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?