Example #1
0
        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);
            }
        }