public int InsertAction(int iActionId, ActionFileData data, ActionParam param, List <GameObject> affectedObjects) { ActionPlayer action = new ActionPlayer(iActionId, data, param, affectedObjects); m_lstAction.Add(action); return(action.GetInstanceID()); }
public static bool AddFrameList(ActionFileData fileData, List <ActionFrameData> frameDataList) { if (frameDataList == null || fileData == null) { Debug.LogError("frameData or fileData is null"); return(false); } if (fileData.FrameDatalist == null) { fileData.FrameDatalist = new List <ActionFrameData>(); } if (frameDataList.Count <= 0) { return(false); } int count = 0; foreach (ActionFrameData frameData in frameDataList) { if (!fileData.FrameDatalist.Contains(frameData)) { fileData.FrameDatalist.Add(frameData); count++; } } fileData.FrameDatalist.Sort(SortFrameByTime); if (count == 0) { return(false); } return(true); }
public static void DeleteActionEditFile(ActionFileDataArray filedatalist, ActionFileData fileData) { if (null == filedatalist) { filedatalist = new ActionFileDataArray(); } if (null == filedatalist.DataList) { filedatalist.DataList = new List <ActionFileData>(); } for (int i = 0; i < filedatalist.DataList.Count; ++i) { if (filedatalist.DataList[i].ID == fileData.ID) { filedatalist.DataList[i] = fileData; filedatalist.DataList.RemoveAt(i); break; } } byte[] data = ThriftSerialize.Serialize(filedatalist); FileUtils.WriteByteFile(GetActionFileDataPath(), data); }
public int InsertAction(int iActionId, ActionFileData data, ActionParam param) { ActionPlayer action = new ActionPlayer(iActionId, data, param, null); m_lstAction.Add(action); return(action.GetInstanceID()); }
public static void SaveActionEditFileList(ActionFileDataArray filedatalist, ActionFileData fileData) { if (null == filedatalist) { filedatalist = new ActionFileDataArray(); } if (null == filedatalist.DataList) { filedatalist.DataList = new List <ActionFileData>(); } fileData.TimeStamp = GetTimeStamp(); bool bIsNeedAddNew = true; for (int i = 0; i < filedatalist.DataList.Count; ++i) { if (filedatalist.DataList[i].ID == fileData.ID) { filedatalist.DataList[i] = fileData; bIsNeedAddNew = false; break; } } if (bIsNeedAddNew) { filedatalist.DataList.Add(fileData); } byte[] data = ThriftSerialize.Serialize(filedatalist); FileUtils.WriteByteFile(GetActionFileDataPath(), data); }
public static bool CheckConflcit(ActionFileData item1, ActionFileData item2) { if (item1.TimeStamp == item2.TimeStamp) { return(false); } return(true); }
public int PlayAction(int iActionId, ActionParam param) { ActionFileData data = ConfigManager.Instance.GetActionFileData(iActionId); ActionPlayer action = new ActionPlayer(iActionId, data, param, null); m_lstAction.Add(action); MessageDispatcher.Instance.BroadcastMessage(new MessageObject(ClientCustomMessageDefine.C_ACTION_START, param)); return(action.GetInstanceID()); }
public int InsertAction(int iActionId, ActionFileData data, ActionParam param, params GameObject[] affectedObjects) { List <GameObject> affectedOjectList = new List <GameObject>(); affectedOjectList.AddRange(affectedObjects); ActionPlayer action = new ActionPlayer(iActionId, data, param, affectedOjectList); m_lstAction.Add(action); return(action.GetInstanceID()); }
public static int SortFileByID(ActionFileData item1, ActionFileData item2) { if (item1.ID < item2.ID) { return(-1); } else if (item1.ID > item2.ID) { return(1); } return(0); }
private void ClearData() { OnStop(); // editor state m_bPlay = false; m_bIsCreateNew = false; m_bInitSceneCamera = false; m_fAniTimeLastValue = 0f; m_ActionId = -1; // editor data m_ObjMap = null; if (null != m_ObjMapInstance) { UnityEngine.Object.Destroy(m_ObjMapInstance); // clear terrain CloseTerrain(); } m_ObjMapInstance = null; m_DurationInputBuffer = null; m_MapIDInputBuffer = null; // action data m_fAniTimeValue = 0f; m_CurrentActionName = null;; m_CurrentMapName = ""; m_FileData = null; m_KeyFrameDataDict = null; //Close Windows var subTypeQuery = from t in Assembly.GetExecutingAssembly().GetTypes() where IsSubClassOf(t, typeof(AbstractFrameEdit)) select t; foreach (var type in subTypeQuery) { MethodInfo method = type.GetMethod("CloseWindow"); method.Invoke(null, null); } m_RuntimeParam.ClearData(); AERuntimeParamEditorWindow.CloseWindow(); ActionKeyframeWindow.CloseWindow(); ActionTimeChangeWindow.CloseWindow(); ActionListWindow.CloseWindow(); ConflictSolveWindow.CloseWindow(); }
public static void DelFrame(ActionFileData fileData, ActionFrameData frameData) { if (frameData == null || fileData == null) { Debug.LogError("frameData or fileData is null"); return; } if (fileData.FrameDatalist == null) { Debug.LogError("frameDatalist is null"); return; } if (fileData.FrameDatalist.Contains(frameData)) { fileData.FrameDatalist.Remove(frameData); } }
public static void DelFrame(ActionFileData fileData, int nIndex) { if (fileData == null) { Debug.LogError("fileData is null"); return; } if (fileData.FrameDatalist == null) { Debug.LogError("frameDatalist is null"); return; } if (nIndex < 0 || nIndex >= fileData.FrameDatalist.Count) { return; } fileData.FrameDatalist.RemoveAt(nIndex); }
private void OnSave() { //Action Data if (m_FileData == null) { m_FileData = new ActionFileData(); } m_FileData.ID = m_CurrentEditiongMapId; m_FileData.Duration = (double)m_fActionDuration; m_FileData.MapResName = m_CurrentMapName; m_FileData.FileName = m_CurrentActionName; //m_FileData.FrameDatalist = ActionHelper.ConvertActionFrameData(m_KeyFrameData); m_FileDataList = ActionHelper.GetActionEditFileList(); ActionHelper.SaveActionEditFileList(m_FileDataList, m_FileData); ActionHelper.CombineActionEditFileList(m_FileDataList); EditorUtility.DisplayDialog("保存成功", "保存成功", "确定"); }
public ActionPlayer(int iActionId, ActionFileData data, ActionParam param, List <GameObject> affectedObjects = null) { //Check if (null == data) { return; } m_AffectedObject = affectedObjects; //Save Init Info SaveInitInfo(); //Set Data m_ActionId = iActionId; m_ActionFileData = data; m_nInstanceID = AllocInstanceId(); m_ActionParam = param; if (affectedObjects != null && affectedObjects.Count > 0) { //Add Target foreach (GameObject obj in affectedObjects) { if (obj == null) { Debuger.LogWarning("None(GameObject) in TargetObjectList"); continue; } CharTransformContainer objContainer = obj.GetComponent <CharTransformContainer>(); if (objContainer == null) { Debuger.LogWarning("Instance Container Not Found in " + obj.name); continue; } else { AddAffectedObject(obj, objContainer); } //disable rigidbody SetPhysicStatus(obj, false); } } Reset(); }
public static bool AddFrame(ActionFileData fileData, ActionFrameData frameData) { if (frameData == null || fileData == null) { Debug.LogError("frameData or fileData is null"); return(false); } if (fileData.FrameDatalist == null) { fileData.FrameDatalist = new List <ActionFrameData>(); } if (fileData.FrameDatalist.Contains(frameData)) { fileData.FrameDatalist.Sort(SortFrameByTime); return(false); } fileData.FrameDatalist.Add(frameData); fileData.FrameDatalist.Sort(SortFrameByTime); return(true); }
public void OpenAction(ActionFileData data) { ClearData(); //Action Data m_CurrentEditiongMapId = data.ID; m_fActionDuration = (float)data.Duration; m_CurrentMapName = data.MapResName; m_CurrentActionName = data.FileName; m_KeyFrameDataDict = ActionHelper.ConvertKeyFrameData(data.FrameDatalist); m_FileData = data; //Editor Data m_bIsCreateNew = true; m_DurationInputBuffer = m_fActionDuration.ToString(); m_MapIDInputBuffer = m_CurrentEditiongMapId.ToString(); m_ObjMap = ActionHelper.GetSceneMap(data.MapResName); Repaint(); }
public ActionFileData GetActionFileData(int id) { ActionFileDataArray config = TryGetConfig <ActionFileDataArray>(ConfigPath_ActionConfig); if (config == null || config.DataList == null) { Debuger.LogWarning("can't find Action File DataArray"); } ActionFileData res = null; foreach (ActionFileData data in config.DataList) { if (data.ID == id) { res = data; } } if (res == null) { Debuger.LogWarning("can't find Action File"); } return(res); }
private void Copy(ActionFileData data) { int max = 0; for (int i = 0; i < m_DataList.DataList.Count; ++i) { if (m_DataList.DataList[i].ID > max) { max = m_DataList.DataList[i].ID; } } ++max; ActionFileData elem = new ActionFileData(); elem.ID = max; elem.FileName = data.FileName; elem.MapResName = data.MapResName; elem.Duration = data.Duration; elem.FrameDatalist = data.FrameDatalist; m_DataList = ActionHelper.GetActionEditFileList(); ActionHelper.SaveActionEditFileList(m_DataList, elem); ActionHelper.CombineActionEditFileList(m_DataList); Repaint(); }
private void ChoiseMap(ActionFileData data) { m_Instance.Close(); m_Instance = null; ActionEditorWindow.Instance.OpenAction(data); }
private void Delete(ActionFileData data) { ActionHelper.DeleteActionEditFile(m_DataList, data); Repaint(); }