16/02/18 19:43:17.00 prkk2VAO.net
ヒエラルキーの構造も想定する呼び出し条件もわからんのでは作りにくいなw
マネージャ的にインスペクタから全て設定できる様にしてみた
Graphicが対象なのでImageだけでなくTextなどの色変更も可能
どこに置いても動くので呼び出し元と同じオブジェクトにアタッチしておいて色を変えたいところで↓呼べばおk
GetComponent<GraphicsColorChanger>().DoColorChange();
Graphicを動的生成する場合は生成元でtargetsにセットすること
public class GraphicsColorChanger: MonoBehaviour {
//色とGraphicを保持するクラス
[Serializable]
public class GraphicColor{
public Graphic graphic;
public Color color;
//色の適用処理
//バーチャルなのは色変化アニメーションをさせる等の拡張を想定
public virtual void Apply(){
graphic.color=color;
}
}
public List<ImageColor> targets;
//色変更はApply()呼ぶだけ
public void DoColorChange(){
foreach(var t in targets){
t.Apply();
}
}
}
個人的にはGraphicColorのカスタムプロパティドロアー書いてリスト表示を単一行にしたい感じだ