DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ OnInputUserDataProcess()

bool DayZPlayer::OnInputUserDataProcess ( int userDataType,
ParamsReadContext ctx )
inlineprotected

См. определение в файле DayZPlayerImplement.c строка 3052

3053 {
3054 m_MeleeCombat.SetTargetObject(null);
3055 m_MeleeCombat.SetHitPos(vector.Zero);
3056 m_MeleeCombat.SetHitZoneIdx(-1);
3057 m_MeleeCombat.SetFinisherType(-1);
3058
3059 if (userDataType == INPUT_UDT_MELEE_TARGET)
3060 {
3061 EntityAI target = null;
3062 if (ctx.Read(target))
3063 {
3064 m_MeleeCombat.SetTargetObject(target);
3065 }
3066
3067 vector hitPos = vector.Zero;
3068 if (ctx.Read(hitPos))
3069 {
3070 m_MeleeCombat.SetHitPos(hitPos);
3071 }
3072
3073 int hitZoneIdx = -1;
3074 if (ctx.Read(hitZoneIdx))
3075 {
3076 m_MeleeCombat.SetHitZoneIdx(hitZoneIdx);
3077 }
3078
3079 int finisherType = -1;
3080 if (ctx.Read(finisherType))
3081 {
3082 if (finisherType != -1 && target)
3083 {
3084 bool isWithinRange = vector.Distance(GetPosition(), target.GetPosition()) <= PlayerConstants.MAX_FINISHER_RANGE;
3085 if (!target.IsAlive() || !target.CanBeBackstabbed() || !isWithinRange)
3086 {
3087 finisherType = -1;
3088 }
3089 }
3090 m_MeleeCombat.SetFinisherType(finisherType);
3091 }
3092
3093 return true;
3094 }
3095
3096 return false;
3097 }
const int INPUT_UDT_MELEE_TARGET
class LogManager EntityAI
ref DayZPlayerImplementMeleeCombat m_MeleeCombat
Определения DayZPlayerImplement.c:94
proto bool Read(void value_in)
vector GetPosition()
Get the world position of the Effect.
Определения Effect.c:473

Перекрестные ссылки vector::Distance(), GetPosition(), INPUT_UDT_MELEE_TARGET, m_MeleeCombat, PlayerConstants::MAX_FINISHER_RANGE, Serializer::Read() и vector::Zero.