2018-12-31 01:00:38 +00:00
|
|
|
/***
|
|
|
|
*
|
2019-01-16 16:43:50 +00:00
|
|
|
* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved.
|
|
|
|
*
|
|
|
|
* See the file LICENSE attached with the sources for usage details.
|
2018-12-31 01:00:38 +00:00
|
|
|
*
|
|
|
|
****/
|
|
|
|
|
2019-01-03 01:26:39 +00:00
|
|
|
class multisource : CBaseTrigger
|
2018-12-31 01:00:38 +00:00
|
|
|
{
|
2019-01-03 01:26:39 +00:00
|
|
|
void() multisource;
|
2018-12-31 01:00:38 +00:00
|
|
|
virtual int() GetValue;
|
|
|
|
virtual void() Trigger;
|
|
|
|
};
|
|
|
|
|
2019-01-03 01:26:39 +00:00
|
|
|
int multisource :: GetValue ( void )
|
2018-12-31 01:00:38 +00:00
|
|
|
{
|
|
|
|
int iWillTrigger = TRUE;
|
|
|
|
|
|
|
|
for ( entity eTemp = world; ( eTemp = find( eTemp, CBaseTrigger::m_strTarget, m_strTargetName ) ); ) {
|
|
|
|
CBaseTrigger tTemp = (CBaseTrigger) eTemp;
|
|
|
|
if ( tTemp.GetValue() == FALSE ) {
|
|
|
|
iWillTrigger = FALSE;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return iWillTrigger;
|
|
|
|
}
|
|
|
|
|
2019-01-03 01:26:39 +00:00
|
|
|
void multisource :: Trigger ( void )
|
2018-12-31 01:00:38 +00:00
|
|
|
{
|
|
|
|
if ( GetValue() == FALSE ) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2019-01-03 01:26:39 +00:00
|
|
|
//dprint( sprintf( "multisource: Trigger of %s\n", m_strTarget ) );
|
2018-12-31 01:00:38 +00:00
|
|
|
CBaseTrigger::UseTargets();
|
|
|
|
}
|
|
|
|
|
2019-01-03 01:26:39 +00:00
|
|
|
void multisource :: multisource ( void )
|
2018-12-31 01:00:38 +00:00
|
|
|
{
|
|
|
|
CBaseTrigger::CBaseTrigger();
|
|
|
|
}
|