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;

      

  • 相关阅读:
    HDU 5313 bitset优化背包
    bzoj 2595 斯坦纳树
    COJ 1287 求匹配串在模式串中出现的次数
    HDU 5381 The sum of gcd
    POJ 1739
    HDU 3377 插头dp
    HDU 1693 二进制表示的简单插头dp
    HDU 5353
    URAL 1519 基础插头DP
    UVA 10294 等价类计数
  • 原文地址:https://www.cnblogs.com/NEOCSL/p/2840448.html
Copyright © 2011-2022 走看看