1234567891011121314151617181920212223242526272829303132333435363738 |
- class ActionTurnOnSpotlight: ActionInteractBase
- {
- void ActionTurnOnSpotlight()
- {
- m_Text = "#switch_on";
- }
- override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
- {
- Object targetObject = target.GetObject();
- ItemBase target_IB = ItemBase.Cast( targetObject );
-
- Spotlight s = Spotlight.Cast(target_IB);
-
- if (s && s.IsFolded())
- return false;
-
- int component_id = target.GetComponentIndex();
- string selection = targetObject.GetActionComponentName(component_id);
- if ( selection == Spotlight.SEL_REFLECTOR_COMP_U && target_IB.HasEnergyManager() && target_IB.GetCompEM().CanSwitchOn() )
- {
- return true;
- }
-
- return false;
- }
- override void OnExecuteServer( ActionData action_data )
- {
- Object targetObject = action_data.m_Target.GetObject();
- if (targetObject)
- {
- EntityAI target_EAI = EntityAI.Cast( targetObject );
- target_EAI.GetCompEM().SwitchOn();
- }
- }
- };
|