Unityでプロジェクト名を変更する手順

Unityのプロジェクトはフォルダー名がプロジェクト名になっているので、それをリネームすればプロジェクト名も変更できるようです。

後、必要に応じて不要になるファイルを削除しても良いと思います。

  1. フォルダーをリネーム
  2. .sln.csprojuserprefsを削除

変更できたらUnityを起動して、「Open」から新しいフォルダーを選択します。

Player Settingsも必要に応じて変更してください。

  • [Edit] » [Project Settings] » [Player] » [Product Name]を変更

リンク

unity3d – How to Rename a Unity Project? – Stack Overflow
https://stackoverflow.com/questions/45825612/how-to-rename-a-unity-project

unity > プロジェクト名の変更 > フォルダ名を変更 / .slnと.userprefsは削除する > MonoDevelopでスクリプトを開いた時に.sln / .userprefsが再作成される – Qiita
https://qiita.com/7of9/items/8b92e9d20669b5775a1d

C#のList.Find/List.FindIndexについて

List<T>.FindList<T>.FindIndexの使い方はこんな感じです。

using System;
using System.Collections.Generic;

public class Example
{
  static public void Main ()
  {
    List<int> example = new List<int>{ 3, 1, 4, 1, 5  };
    Console.WriteLine("Find: " + example.Find((e) => { return e % 2 == 0; }));
    Console.WriteLine("FindIndex: " + example.FindIndex((e) => { return e % 2 == 0; }));
  }
}

実行結果

Find: 4
FindIndex: 2

気になるポイントは一致するものがなかった場合の戻り値です。

Find: 型Tの既定値
FindIndex: -1

よく忘れるのでメモしてみました。

動作サンプルは次のような感じです。

using System;
using System.Collections.Generic;

public class Example
{
  static public void Main ()
  {
    List<int> example = new List<int>{ 3, 1, 4, 1, 5, 9, 2 };
    Console.WriteLine("Find: " + example.Find((e) => { return e == 6; }));
    Console.WriteLine("FindIndex: " + example.FindIndex((e) => { return e == 6; }));
  }
}

実行結果

Find: 0
FindIndex: -1

リンク

List(T).Find メソッド (Predicate(T)) (System.Collections.Generic)
https://msdn.microsoft.com/ja-jp/library/x0b5b5bc(v=vs.110).aspx

List(T).FindIndex メソッド (Int32, Int32, Predicate(T)) (System.Collections.Generic)
https://msdn.microsoft.com/ja-jp/library/7eb596wz(v=vs.110).aspx

C#のExtension Method

C#ではExtension Methodという便利な仕組みがあるそうです。

使い方

using System;

public static class Extension
{
  public enum Fruit { apple, orange }

  public static string function(this Fruit fruit)
  {
    return fruit == Fruit.apple ? "apple" : "orange";
  }
}

public static class Example
{
  static void Main()
  {
    string fruit = Extension.function(Extension.Fruit.apple);
    Console.WriteLine("fruit: " + fruit);
  }
}

実行結果

fruit: apple

テキトウ過ぎるexampleですが、thisキーワードを使ってこんな感じで書けるみたいです。enum以外にもclass/struct/primitive valueなどにも使えるそうなので、便利そうな気がします。

リンク

How to: Implement and Call a Custom Extension Method (C# Programming Guide) | Microsoft Docs
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/how-to-implement-and-call-a-custom-extension-method