コード例 #1
0
        private void CreateSkillAction()
        {
            var action = new ModelActionEditor(this, new SkillAction(), true);

            action.ActState = ModelActionEditor.ActionState.New;
            ActionWindow.Init(this, action, (act) => ModelActions.Add(act));
        }
コード例 #2
0
ファイル: ActionWindow.cs プロジェクト: B-CK/P-Lua
 void OnDestroy()
 {
     _modelAction      = null;
     _selfModelEditor  = null;
     _otherModelEditor = null;
     _result           = null;
     _actClipList      = null;
 }
コード例 #3
0
        public override bool Equals(object obj)
        {
            ModelActionEditor other = obj as ModelActionEditor;

            if (other == null)
            {
                return(false);
            }

            bool result = other.IsFromOther.Equals(IsFromOther);

            result &= other.OtherModelName.Equals(OtherModelName);
            result &= other.ActionClip.Equals(ActionClip);

            return(result);
        }
コード例 #4
0
ファイル: ActionWindow.cs プロジェクト: B-CK/P-Lua
        public static void Init(ModelActionConfigEditor modelEditor, ModelActionEditor modelAction, Action <ModelActionEditor> result = null)
        {
            var window = GetWindow <ActionWindow>(true, "行为配置窗口", true);

            window.position = GUIHelper.GetEditorWindowRect().AlignCenter(400, 250);
            window.minSize  = new Vector2(400, 250);
            window.maxSize  = new Vector2(400, 250);

            window._selfModelEditor            = modelEditor;
            window._nameStyle                  = SirenixGUIStyles.BoldTitleCentered;
            window._nameStyle.fontSize         = 30;
            window._nameStyle.fontStyle        = FontStyle.Bold;
            window._nameStyle.normal.textColor = Color.white;

            window._modelAction = modelAction;
            window._actionName  = modelAction.ActionName;
            window._isFromOther = modelAction.IsFromOther;
            window._clipIndex   = -1;
            window._otherModel  = modelAction.OtherModelName;
            window._result      = result;

            if (modelAction.IsFromOther)
            {
                window._otherModelEditor = HomeConfigPreview.Instance.GetModelEditor(modelAction.OtherModelName);
                window._actClipList      = window._otherModelEditor.GetActionClips();
            }
            else
            {
                window._otherModel  = string.Empty;
                window._actClipList = modelEditor.GetActionClips();
            }

            if (ModelActionEditor.ActionState.New != modelAction.ActState)
            {
                int length = window._actClipList.Length;
                for (int i = 0; i < length; i++)
                {
                    string item = window._actClipList[i];
                    if (item.Equals(modelAction.ActionClip))
                    {
                        window._clipIndex = i;
                        break;
                    }
                }
            }
        }
コード例 #5
0
 public ModelActionConfigEditor(string path)
 {
     _path           = path;
     _modelActionCfg = XmlUtil.Deserialize(path, typeof(ModelActionConfig)) as ModelActionConfig;
     foreach (var item in _modelActionCfg.ModelActionList)
     {
         var action = new ModelActionEditor(this, item, false);
         action.ActState = ModelActionEditor.ActionState.New;
         ModelActions.Add(action);
     }
     foreach (var item in _modelActionCfg.SkillActionList)
     {
         var action = new ModelActionEditor(this, item, true);
         action.ActState = ModelActionEditor.ActionState.New;
         SkillActions.Add(action);
     }
 }
コード例 #6
0
        private void AddBaseModelAction(string name)
        {
            var baseModel = HomeConfigPreview.Instance.GetModelEditor(name);
            var modelDict = GetModelActionDict();

            foreach (var item in baseModel.ModelActions)
            {
                if (modelDict.ContainsKey(item.ActionName))
                {
                    modelDict[item.ActionName].ActState = modelDict[item.ActionName].Equals(item) ?
                                                          ModelActionEditor.ActionState.Inherit : ModelActionEditor.ActionState.Override;
                }
                else
                {
                    var action = new ModelActionEditor(item);
                    action.ActState = ModelActionEditor.ActionState.Inherit;
                    ModelActions.Add(action);
                }
            }
            var skillDict = GetModelActionDict();

            foreach (var item in baseModel.SkillActions)
            {
                if (skillDict.ContainsKey(item.ActionName))
                {
                    skillDict[item.ActionName].ActState = skillDict[item.ActionName].Equals(item) ?
                                                          ModelActionEditor.ActionState.Inherit : ModelActionEditor.ActionState.Override;
                }
                else
                {
                    var action = new ModelActionEditor(item);
                    action.ActState = ModelActionEditor.ActionState.Inherit;
                    SkillActions.Add(action);
                }
            }
        }
コード例 #7
0
 public ModelActionEditor(ModelActionEditor actionEditor)
 {
     _modelEditor   = actionEditor._modelEditor;
     _modelAction   = actionEditor._modelAction;
     _isSkillAction = actionEditor._isSkillAction;
 }