1、打开Unity,新建一个空工程,具体如下图
2、在工程中,新建几个脚本,然后双击打开,具体如下图
3、脚本的具体代码和代码说明如下图
4、PlayerTarget脚本具体内容如下:publicabstractclassPlayerTarget{protectedstringname; publicPlayerTarget(stringname){ this.name=name; }publicabstractvoidAttack();}
5、Forwards脚本具体内容如下:usingU艘绒庳焰nityEngine;publicclassForwards:PlayerTar爿讥旌护get{publicForwards(stringname):base(name){ }publicoverridevoidAttack() { Debug.Log(string.Format("Forwards{0}Attack",name)); }}
6、ForeignCenterAdaptee脚本具体内容如下:usingUnityEngine;public艘早祓胂classForeignCenterAdaptee{privatestringname;publicstringName{ get{ returnname; } set{ name=value; } }publicvoidAttack(){ Debug.Log(string.Format("ForeignCenter{0}攻击",name)); }}
7、TranslatorAdapter脚本具体内容如下:publicclass哌囿亡噱TranslatorAdapter:PlayerTarget{privateForeignCenterAdapteeforeignCenter=newForeignCenterAdaptee();publicTranslatorAdapter(stringname):base(name){ foreignCenter.Name=name; }publicoverridevoidAttack() { foreignCenter.Attack(); }}
8、Test脚本具体内容如下:usingUnityEngine;publicc盟敢势袂lassTest:MonoBehaviour{//Usethisforinitialization voidStart(){PlayerTargetplayer1=newForwards("Player1"); player1.Attack();PlayerTargetplayer2=newTranslatorAdapter("外籍球员2"); player2.Attack();}}
9、脚本编译正确,回到Unity界面,在场景中新建一个 GameObject,并把 Test 脚本赋给 GameObject,具体如下图
10、运行场景,控制台 Console 打印如下图
11、到此,《Unity 设计模式之 组合模式的实例介绍》讲解结束,谢谢