/// <summary> /// 描画したいPartsと表示したい座標とコントロールの名前を設定する。 /// ここで設定した名前は、コントロールを取り除くときに必要となる。 /// </summary> /// <param name="parts"></param> /// <param name="x"></param> /// <param name="y"></param> /// <param name="name"></param> public Control(ITextureGUI parts, int x, int y, string name) { this.Parts = parts; this.X = x; this.Y = y; this.name = name; }
/// <summary> /// 描画したいPartsと表示したい座標を設定する /// </summary> /// <param name="parts"></param> /// <param name="x"></param> /// <param name="y"></param> public Control(ITextureGUI parts, int x, int y) { this.Parts = parts; this.X = x; this.Y = y; }
/// <summary> /// guiのinstanceを指定してコントロールを削除 /// </summary> /// <param name="name"></param> public void RemoveControl(ITextureGUI gui) { controls.Remove( delegate(Control c) { return c.Parts == gui; } ); }
/// <summary> /// ITextureGUIを直接登録する機能 /// </summary> /// <remarks> /// このメソッドでOnInitが呼び出される。そのときにControlContextがパラメータとして渡される。 /// よって、ControlContextはこのメソッド呼び出しより先行して初期化されていなければならない。 /// /// たとえば、TextureGUIControlにAddControlでTextureGUIControl(これはITexture派生クラスなので /// AddControlできる)する場合、次の順番で行なう必要がある。 /// TextureGUIControl master_control; /// TextureGUIControl sub_control; /// TextureButton button; /// /// master_control.AddControl(sub_control,10,20); /// sub_control.AddControl(button,30,30); /// ※ ちなみに、この場合buttonは、(10,20)+(30,30) = (40,50)に描画される。 /// この順番を逆にして、 /// sub_control.AddControl(button,30,30); /// master_control.AddControl(sub_control,10,20); /// こうした場合、sub_controlのControlContextが初期化されていないので、 /// sub_control.AddControl(button,30,30)で、buttonのOnInitを呼び出すときに /// OnInit(null)で呼び出してしまいマズイ。 /// /// </remarks> /// <param name="gui"></param> /// <param name="x"></param> /// <param name="y"></param> /// <param name="name"> /// Controlの名前。Control(gui,x,y,name)を直接呼び出している。 /// </param> public void AddControl(ITextureGUI gui , int x , int y,string name) { AddControl(new Control(gui , x , y,name)); }
/// <summary> /// ITextureGUIを直接登録する機能 /// </summary> /// <remarks> /// このメソッドでOnInitが呼び出される。そのときにControlContextがパラメータとして渡される。 /// よって、ControlContextはこのメソッド呼び出しより先行して初期化されていなければならない。 /// /// たとえば、TextureGUIControlにAddControlでTextureGUIControl(これはITexture派生クラスなので /// AddControlできる)する場合、次の順番で行なう必要がある。 /// TextureGUIControl master_control; /// TextureGUIControl sub_control; /// TextureButton button; /// /// master_control.AddControl(sub_control,10,20); /// sub_control.AddControl(button,30,30); /// ※ ちなみに、この場合buttonは、(10,20)+(30,30) = (40,50)に描画される。 /// この順番を逆にして、 /// sub_control.AddControl(button,30,30); /// master_control.AddControl(sub_control,10,20); /// こうした場合、sub_controlのControlContextが初期化されていないので、 /// sub_control.AddControl(button,30,30)で、buttonのOnInitを呼び出すときに /// OnInit(null)で呼び出してしまいマズイ。 /// /// </remarks> /// <param name="gui"></param> /// <param name="x"></param> /// <param name="y"></param> public void AddControl(ITextureGUI gui , int x , int y) { AddControl(new Control(gui , x , y)); }
/// <summary> /// guiのinstanceを指定してコントロールを削除 /// </summary> /// <param name="name"></param> public void RemoveControl(ITextureGUI gui) { controls.Remove( delegate(Control c) { return(c.Parts == gui); } ); }
/// <summary> /// ITextureGUIを直接登録する機能 /// </summary> /// <remarks> /// このメソッドでOnInitが呼び出される。そのときにControlContextがパラメータとして渡される。 /// よって、ControlContextはこのメソッド呼び出しより先行して初期化されていなければならない。 /// /// たとえば、TextureGUIControlにAddControlでTextureGUIControl(これはITexture派生クラスなので /// AddControlできる)する場合、次の順番で行なう必要がある。 /// TextureGUIControl master_control; /// TextureGUIControl sub_control; /// TextureButton button; /// /// master_control.AddControl(sub_control,10,20); /// sub_control.AddControl(button,30,30); /// ※ ちなみに、この場合buttonは、(10,20)+(30,30) = (40,50)に描画される。 /// この順番を逆にして、 /// sub_control.AddControl(button,30,30); /// master_control.AddControl(sub_control,10,20); /// こうした場合、sub_controlのControlContextが初期化されていないので、 /// sub_control.AddControl(button,30,30)で、buttonのOnInitを呼び出すときに /// OnInit(null)で呼び出してしまいマズイ。 /// /// </remarks> /// <param name="gui"></param> /// <param name="x"></param> /// <param name="y"></param> /// <param name="name"> /// Controlの名前。Control(gui,x,y,name)を直接呼び出している。 /// </param> public void AddControl(ITextureGUI gui, int x, int y, string name) { AddControl(new Control(gui, x, y, name)); }
/// <summary> /// ITextureGUIを直接登録する機能 /// </summary> /// <remarks> /// このメソッドでOnInitが呼び出される。そのときにControlContextがパラメータとして渡される。 /// よって、ControlContextはこのメソッド呼び出しより先行して初期化されていなければならない。 /// /// たとえば、TextureGUIControlにAddControlでTextureGUIControl(これはITexture派生クラスなので /// AddControlできる)する場合、次の順番で行なう必要がある。 /// TextureGUIControl master_control; /// TextureGUIControl sub_control; /// TextureButton button; /// /// master_control.AddControl(sub_control,10,20); /// sub_control.AddControl(button,30,30); /// ※ ちなみに、この場合buttonは、(10,20)+(30,30) = (40,50)に描画される。 /// この順番を逆にして、 /// sub_control.AddControl(button,30,30); /// master_control.AddControl(sub_control,10,20); /// こうした場合、sub_controlのControlContextが初期化されていないので、 /// sub_control.AddControl(button,30,30)で、buttonのOnInitを呼び出すときに /// OnInit(null)で呼び出してしまいマズイ。 /// /// </remarks> /// <param name="gui"></param> /// <param name="x"></param> /// <param name="y"></param> public void AddControl(ITextureGUI gui, int x, int y) { AddControl(new Control(gui, x, y)); }