public void OnDestroy() { _fileName = string.Empty; EditorPrefs.DeleteKey("HsmFile"); hSMChangeSelectId -= ChangeSelectId; hSMAddState -= AddNode; hSMDeleteNode -= DeleteNode; hSMSetDefaultState -= SetDefaultState; hSMLoadFile -= LoadFile; hSMSaveFile -= SaveFile; hSMDeleteFile -= DeleteFile; hSMNodeChangeTransition -= NodeChangeTransition; hSMNodeAddDelParameter -= NodeAddDelParameter; hSMNodeTransitionAddDelGroup -= NodeTransitionAddDelGroup; parameterChange -= ParameterChange; hSMNodeChangeParameter -= NodeChangeParameter; hSMRuntimePlay -= RuntimePlay; hSMChangeSelectTransitionId += ChangeSelectTransition; hsmOpenSubMachine -= OpenSubMachine; _playState = HSMPlayType.STOP; AssetDatabase.Refresh(); UnityEngine.Caching.ClearCache(); }
private void LoadFile(string fileName) { string path = GetFilePath(fileName); if (!File.Exists(path)) { if (!EditorUtility.DisplayDialog("提示", "文件不存在", "yes")) { } return; } _playState = HSMPlayType.STOP; NodeNotify.SetPlayState((int)_playState); HSMReadWrite readWrite = new HSMReadWrite(); SkillHsmConfigHSMTreeData HSMTreeData = readWrite.ReadJson(path); if (null == HSMTreeData) { Debug.LogError("file is null:" + fileName); return; } _fileName = fileName; _HSMTreeData = HSMTreeData; _currentOpenSubMachineId = -1; HSMRunTime.Instance.Reset(HSMTreeData); }
private void RuntimePlay(HSMPlayType state) { if (state == HSMPlayType.PLAY && null != HSMRunTime.Instance.ConditionCheck) { List <SkillHsmConfigHSMParameter> parameterList = HSMRunTime.Instance.ConditionCheck.GetAllParameter(); _runtimeParameterModel.AddParameter(parameterList); } }
private void RuntimePlay(HSMPlayType state) { if (state == HSMPlayType.PLAY || state == HSMPlayType.STOP) { if (null != _hsmStateMachine) { _hsmStateMachine.Clear(); } } }
public void Init() { CreateData(); hSMChangeSelectId += ChangeSelectId; hSMAddState += AddNode; hSMDeleteNode += DeleteNode; hSMSetDefaultState += SetDefaultState; hSMLoadFile += LoadFile; hSMSaveFile += SaveFile; hSMDeleteFile += DeleteFile; hSMNodeChangeTransition += NodeChangeTransition; hSMNodeAddDelParameter += NodeAddDelParameter; hSMNodeTransitionAddDelGroup += NodeTransitionAddDelGroup; parameterChange += ParameterChange; hSMNodeChangeParameter += NodeChangeParameter; hSMRuntimePlay += RuntimePlay; hSMChangeSelectTransitionId += ChangeSelectTransition; hsmOpenSubMachine += OpenSubMachine; _playState = HSMPlayType.STOP; }
private void RuntimePlay(HSMPlayType state) { NodeNotify.SetPlayState((int)state); _playState = state; }