private void CreateSkillAction() { var action = new ModelActionEditor(this, new SkillAction(), true); action.ActState = ModelActionEditor.ActionState.New; ActionWindow.Init(this, action, (act) => ModelActions.Add(act)); }
void OnDestroy() { _modelAction = null; _selfModelEditor = null; _otherModelEditor = null; _result = null; _actClipList = null; }
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); }
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; } } } }
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); } }
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); } } }
public ModelActionEditor(ModelActionEditor actionEditor) { _modelEditor = actionEditor._modelEditor; _modelAction = actionEditor._modelAction; _isSkillAction = actionEditor._isSkillAction; }