private ActionType(int id, CreatureType type, ActionTargetType targetType, string name) { this.nId = id; this.eCreatureType = type; // this.bRequireTarget = requireTarget; this.targetType = targetType; this.sName = name; }
/// <summary> /// Удаляет все объекты или переменные из связанных действий /// </summary> private void RemoveFromAssignedObjects(ActionTargetType targetType, string targetName) { var hasChanges = false; foreach (var source in ViewModels.Where(t => t is IActionProperties) .Cast <IActionProperties>() .Where(t => t.ActionProperties.HasActions)) { var actions = source.ActionProperties.Actions; for (var i = 0; i < actions.Count; i++) { var action = actions[i]; if (action.TargetType != targetType) { continue; } var targetVariableName = action.Result.TargetName; if (!Common.IsSameName(targetName, targetVariableName)) { continue; } if (!hasChanges) { hasChanges = true; } source.ActionProperties.Actions.Remove(action); } } if (hasChanges && targetType == ActionTargetType.Variable) { RefreshSelected(); } }