示例#1
0
//     public void PushActorIDToList(int actorId)
//     {
//         mEnterActorIDList.Add(actorId);
//     }
//
//     public void PopActorIDToList(int actorId)
//     {
//         mEnterActorIDList.Remove(actorId);
//     }

    public bool CheckAttackAction()
    {
//         if (Self.mEnterActorIDList.Count <= 0)
//         {
//             return false;
//         }
        AIBaseData curAttackCount = GetBaseData("AttackCount", AIBaseData.DataType.enInt);

        if (Self.mMaxAttackCount > 0)
        {
            if (curAttackCount.GetValue_Float() > Self.mMaxAttackCount)
            {
                return(false);
            }
        }
        AIBaseData preAttackTime = GetBaseData("PreAttackTime", AIBaseData.DataType.enTime);

        if (Time.time - preAttackTime.GetValue_Float() < Self.mMinAttackTime)
        {
            return(false);
        }
        Self.TrapActive = true;
        if (OnAttackAction())
        {
            preAttackTime.ResetValue();
            curAttackCount.SetValue(curAttackCount.GetValue_Float() + 1);
        }
        return(false);
    }
示例#2
0
    public static void SetTrapMinAttackTime(Actor actor, AIBaseData val)
    {
        Trap tmpTrap = actor as Trap;

        tmpTrap.mMinAttackTime = val.GetValue_Float();
    }
示例#3
0
 public static void SetActorHPValue(Actor actor, AIBaseData value)
 {
     actor.HP = value.GetValue_Float();
 }