Unity 设计模式之 策略模式的实例介绍

 时间:2024-11-04 12:48:13

1、打开Unity,新建一个空工程,具体如下图

Unity 设计模式之 策略模式的实例介绍

2、在工程中,新建几个脚本,然后双击打开,具体如下图

Unity 设计模式之 策略模式的实例介绍

3、脚本的具体代码和代码说明如下图

Unity 设计模式之 策略模式的实例介绍
Unity 设计模式之 策略模式的实例介绍
Unity 设计模式之 策略模式的实例介绍
Unity 设计模式之 策略模式的实例介绍
Unity 设计模式之 策略模式的实例介绍
Unity 设计模式之 策略模式的实例介绍

4、CashSuperStrategy 脚本具体内容如下:publicabstractclassCashSuperStrategy{publicabstractvoidacceptCash(doublemoney);}

5、CashNormalConcreteStrategy脚本具体内容如下:usingUnityEngine;publicclassCashNormalConcreteStrategy:CashSuperStrategy{publicoverridevoidacceptCash(doublemoney) { Debug.Log("正常收费:"+money); }}

6、CashRebateConcreteStrategy脚本具体内容如下:usingUnityEngine;publicclassCash伊怕锱鳏RebateConcreteStrategy:CashSuperStrategy{privatedoublemoneyRebate=1.0d;publicCashRebateConcreteStrategy(doublerebate){moneyRebate=rebate; }publicoverridevoidacceptCash(doublemoney) { money*=moneyRebate; Debug.Log("打折收费:"+money); }}

7、CashReturnConcreteStrategy脚本具体内容如下:usingSystem;usingUnityEngine;pub造婷用痃licclassCashReturnConcreteStrategy:CashSuperStrategy{privatedoublemoneyCondition=0; privatedoublemoneyReturn=0;publicCashReturnConcreteStrategy(doublemoneyCondtion,doublemoneyReturn){this.moneyCondition=moneyCondtion; this.moneyReturn=moneyReturn; }publicoverridevoidacceptCash(doublemoney) { if(money>=moneyCondition){ money=money-Math.Floor(money/moneyCondition)*moneyReturn; }Debug.Log("正常收费:"+money); }}

8、CashContext脚本具体内容如下:publicclassCashContext{privateCashSuperStrate爿讥旌护gycashSuper;publicCashSuperStrategyCashSuper{ get{ returncashSuper; } set{ cashSuper=value; } }publicCashContext(CashSuperStrategycashSuper){ this.cashSuper=cashSuper; }publicvoidAcceptMoney(doublemoney){ cashSuper.acceptCash(money); }}

9、CashContext脚本具体内容如下:usingUnityEngine;publicclassTest:MonoBehaviour{pri即枢潋雳vateCashContextcash;//Usethisforinitialization voidStart(){cash=newCashContext(newCashNormalConcreteStrategy()); cash.AcceptMoney(358);cash.CashSuper=newCashRebateConcreteStrategy(0.9d); cash.AcceptMoney(358);cash.CashSuper=newCashReturnConcreteStrategy(300,100); cash.AcceptMoney(358); }}

10、脚本编译正确,回到Unity界面,在场景中新建一个 GameObject,并把 Test 脚本赋给 GameObject,具体如下图

Unity 设计模式之 策略模式的实例介绍

11、运行场景,控制台 Console 打印如下图

Unity 设计模式之 策略模式的实例介绍

12、到此,《Unity 设计模式之 策略模式的实例介绍》讲解结束,谢谢

  • Unity 设计模式之 组合模式的实例介绍
  • Unity 设计模式之 原型模式的实例介绍
  • 如何控制unity动作快慢
  • unity3d怎么设置成中文
  • unity3d中如何导入3dmax创建的模型
  • 热门搜索
    小学生消防手抄报 数学乐园手抄报 珍爱生命手抄报图片 环境手抄报图片 手抄报图案小装饰 小学手抄报大全 感恩节手抄报图片 关于地震的手抄报 诵读经典手抄报 感恩老师手抄报图片