123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- class ActionTogglePlaceObject : ActionSingleUseBase
- {
- void ActionTogglePlaceObject()
- {
- m_Text = "#toggle_placing";
- }
-
- override void CreateConditionComponents()
- {
- m_ConditionItem = new CCINonRuined();
- m_ConditionTarget = new CCTNone();
- }
- override bool HasTarget()
- {
- return false;
- }
-
- override bool IsLocal()
- {
- return true;
- }
-
- override bool IsInstant()
- {
- return true;
- }
-
- override bool IsDeploymentAction()
- {
- return true;
- }
-
- override bool RemoveForceTargetAfterUse()
- {
- return false;
- }
-
- override bool CanBeUsedWithBrokenLegs()
- {
- return false;
- }
-
- override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
- {
- // not placeable if liquid is present; exception for barrels, for now
- if (!item.IsKindOf("Barrel_ColorBase") && item.IsLiquidPresent())
- return false;
-
- return true;
- }
-
- override void Start(ActionData action_data)
- {
- super.Start(action_data);
- action_data.m_Player.SetLocalProjectionPosition(action_data.m_Target.GetCursorHitPos());
- action_data.m_Player.TogglePlacingLocal();
- }
- }
|