ActionTuneFrequency.c
class ActionTuneFrequencyCB : ActionContinuousBaseCB
{
private const float REPEAT_AFTER_SEC = 1.0;
override void CreateActionComponent()
{
m_ActionData.m_ActionComponent = new CAContinuousRepeat(REPEAT_AFTER_SEC);
}
}
class ActionTuneFrequency: ActionContinuousBase
{
void ActionTuneFrequency()
{
m_CallbackClass = ActionTuneFrequencyCB;
m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_ITEM_TUNE;
m_CommandUIDProne = DayZPlayerConstants.CMD_ACTIONFB_ITEM_TUNE;
m_SpecialtyWeight = UASoftSkillsWeight.ROUGH_LOW;
m_Text = "#tune_frequency";
}
override void CreateConditionComponents()
{
m_ConditionTarget = new CCTNone;
m_ConditionItem = new CCINonRuined;
}
override bool HasProneException()
{
return true;
}
override bool HasTarget()
{
return false;
}
override bool ActionCondition ( PlayerBase player, ActionTarget target, ItemBase item )
{
if ( item.IsTransmitter() )
{
TransmitterBase transmitter = TransmitterBase.Cast( item );
if ( transmitter.GetCompEM().IsWorking() )
{
//transmitter.DisplayRadioInfo( transmitter.GetTunedFrequency().ToString(), player );
return true;
}
}
return false;
}
override void OnFinishProgressServer( ActionData action_data )
{
TransmitterBase transmitter = TransmitterBase.Cast( action_data.m_MainItem );
transmitter.SetNextFrequency( action_data.m_Player );
}
}