void AddChildActor(ActorEditor childCfg) { var modelDict = childCfg.GetGeneralActionDict(); foreach (var item in GeneralActions) { if (modelDict.ContainsKey(item.ActionName)) { modelDict[item.ActionName].ActState = ActionEditor.ActionState.Override; } else { Clipboard.Copy(item, CopyModes.DeepCopy); ActionEditor action = Clipboard.Paste <ActionEditor>(); action.ActState = ActionEditor.ActionState.Inherit; childCfg.GeneralActions.Add(action); action.ResetActorEditor(childCfg); } } var skillDict = childCfg.GetSkillActionDict(); foreach (var item in SkillActions) { if (skillDict.ContainsKey(item.ActionName)) { skillDict[item.ActionName].ActState = ActionEditor.ActionState.Override; } else { Clipboard.Copy(item, CopyModes.DeepCopy); ActionEditor action = Clipboard.Paste <ActionEditor>(); action.ActState = ActionEditor.ActionState.Inherit; childCfg.SkillActions.Add(action); action.ResetActorEditor(childCfg); } } if (!_childActor.ContainsKey(childCfg.ModelName)) { _childActor.Add(childCfg.ModelName, childCfg); } }