1139 {
1143 if (targetItem)
1144 {
1145 parent = targetItem.GetHierarchyParent();
1146 }
1147 target =
new ActionTarget(targetItem, parent, -1, vector.Zero, -1);
1148 bool hasTarget = targetItem != NULL;
1149
1150 if (mainItem)
1151 {
1152 array<ActionBase_Basic> actions;
1153 array<ref ActionBase> variant_actions;
1154 ActionBase picked_action;
1155 int variants_count,v;
1156
1157
1158 mainItem.GetActions(DefaultActionInput, actions);
1159 if (actions)
1160 {
1161 for (int i = 0; i < actions.Count(); i++)
1162 {
1163 picked_action = ActionBase.Cast(actions[i]);
1165 {
1168 for (v = 0; v < variant_actions.Count(); v ++)
1169 {
1170 picked_action = variant_actions[v];
1172 {
1173 if (hasTarget == picked_action.
HasTarget())
1174 return true;
1175 }
1176 }
1177 }
1178 else
1179 {
1181 {
1182 if (hasTarget == picked_action.
HasTarget())
1183 return true;
1184 }
1185 }
1186 }
1187 }
1188
1190 if (actions)
1191 {
1192 for (int j = 0; j < actions.Count(); j++)
1193 {
1194 picked_action = ActionBase.Cast(actions[j]);
1196 {
1199 for (v = 0; v < variant_actions.Count(); v ++)
1200 {
1201 picked_action = variant_actions[v];
1203 {
1204 if (hasTarget == picked_action.
HasTarget())
1205 return true;
1206 }
1207 }
1208 }
1209 else
1210 {
1212 {
1213 if (hasTarget == picked_action.
HasTarget())
1214 return true;
1215 }
1216 }
1217 }
1218 }
1219 }
1220 return false;
1221 }
class ActionTargets ActionTarget
class GP5GasMask extends MaskBase ItemBase
int GetVariants(out array< ref ActionBase > variants)
void UpdateVariants(Object item, Object target, int componet_index)
bool Can(PlayerBase player, ActionTarget target, ItemBase item, int condition_mask)
bool CanBeSetFromInventory()