zoukankan      html  css  js  c++  java
  • Interface 让敌人不仅仅能识别一方

      炮塔当然不仅仅能识别一种敌人,僵尸,人类,机器人都不会放过。Interface可以很好地完成这种囧境。

    接口仅能包含不影响类的内存布局的声明 – 可以声明枚举值、结构体和常量,但是不能声明变量。

      我将牵扯到AttackInterface的相关信息全部罗列出来。

    class AntTower extends pawn placeble;
    
    var  array<AntAttackInterface>  DetectedAttackInterfaces;
    var AntAttackInterface CurrentEnemy;

          在Touch中检测,该过程发生在上一章的Delegate实现函数。

    local AntAttackInterface AntAttackInterface;
    
    AntAttackInterface=AntAttackInterface(Other);
    
    //检索数组中有没有
    if(AntAttackInterfaces.Find(AntAttackInterface)==INDEX_NONE)
    {
          DetectAttackInterfaces.AddItem(AntAttackInterface);
    }

      进入AttackInterface内部,AntAttackInterface类的实现Actor,可以标注攻击和被攻击的Actor。像Pawn就能很好的使用。

      以下是当添加到DetecAttackInterfaces列表中后怎么定义去攻击列表目标,当前的目标。

    event Tick(float DeltaTime)
    {
         for(i=0;i<DetectAttackInterfaces.length;++i)
         {
               if(DetectAttackInterface[i].IsValidToAttack())
               CurrentEnemy=DetectAttackInterfaces[i];
         }
    }
    interface AntAttackInterface;

      

  • 相关阅读:
    泛型的内部原理:类型擦除以及类型擦除带来的问题
    Redis的那些最常见面试问题
    线程池全面解析
    对线程调度中Thread.sleep(0)的深入理解
    集群环境下Redis分布式锁
    3.8
    3.7
    3.6任务
    3.5任务
    3.4
  • 原文地址:https://www.cnblogs.com/NEOCSL/p/2840448.html
Copyright © 2011-2022 走看看