A game about forced loneliness, made by TACStudios
at master 3.6 kB view raw
1using System; 2 3using UnityEngine; 4 5using Codice.CM.Common; 6using PlasticGui.WorkspaceWindow.Merge; 7 8namespace Unity.PlasticSCM.Editor.Views.Merge.Developer 9{ 10 [Serializable] 11 internal class SerializableMergeTabState 12 { 13 internal RepositorySpec RepSpec { get; private set; } 14 internal EnumMergeType MergeType { get; private set; } 15 internal ShowIncomingChangesFrom From { get; private set; } 16 internal bool IsIncomingMerge { get; private set; } 17 internal bool IsMergeFinished { get; set; } 18 19 internal bool IsInitialized { get; private set; } 20 21 internal SerializableMergeTabState( 22 RepositorySpec repSpec, 23 ObjectInfo objectInfo, 24 ObjectInfo ancestorObjectInfo, 25 EnumMergeType mergeType, 26 ShowIncomingChangesFrom from, 27 bool isIncomingMerge, 28 bool isMergeFinished) 29 { 30 RepSpec = repSpec; 31 32 SetObjectInfo(objectInfo); 33 SetAncestorObjectInfo(ancestorObjectInfo); 34 35 MergeType = mergeType; 36 From = from; 37 IsIncomingMerge = isIncomingMerge; 38 IsMergeFinished = isMergeFinished; 39 40 IsInitialized = true; 41 } 42 43 internal ObjectInfo GetObjectInfo() 44 { 45 if (mBranchInfo != null && mBranchInfo.Id != -1) 46 return mBranchInfo; 47 48 if (mChangesetInfo != null && mChangesetInfo.Id != -1) 49 return mChangesetInfo; 50 51 if (mLabelInfo != null && mLabelInfo.Id != -1) 52 return mLabelInfo; 53 54 return null; 55 } 56 57 internal ObjectInfo GetAncestorObjectInfo() 58 { 59 if (mAncestorBranchInfo != null && mAncestorBranchInfo.Id != -1) 60 return mAncestorBranchInfo; 61 62 if (mAncestorChangesetInfo != null && mAncestorChangesetInfo.Id != -1) 63 return mAncestorChangesetInfo; 64 65 if (mAncestorLabelInfo != null && mAncestorLabelInfo.Id != -1) 66 return mAncestorLabelInfo; 67 68 return null; 69 } 70 71 void SetObjectInfo(ObjectInfo objectInfo) 72 { 73 if (objectInfo is BranchInfo) 74 { 75 mBranchInfo = (BranchInfo)objectInfo; 76 return; 77 } 78 79 if (objectInfo is ChangesetInfo) 80 { 81 mChangesetInfo = (ChangesetInfo)objectInfo; 82 return; 83 } 84 85 if (objectInfo is MarkerInfo) 86 { 87 mLabelInfo = (MarkerInfo)objectInfo; 88 return; 89 } 90 } 91 92 void SetAncestorObjectInfo(ObjectInfo objectInfo) 93 { 94 if (objectInfo is BranchInfo) 95 { 96 mAncestorBranchInfo = (BranchInfo)objectInfo; 97 return; 98 } 99 100 if (objectInfo is ChangesetInfo) 101 { 102 mAncestorChangesetInfo = (ChangesetInfo)objectInfo; 103 return; 104 } 105 106 if (objectInfo is MarkerInfo) 107 { 108 mAncestorLabelInfo = (MarkerInfo)objectInfo; 109 return; 110 } 111 } 112 113 [SerializeField] 114 BranchInfo mBranchInfo; 115 [SerializeField] 116 ChangesetInfo mChangesetInfo; 117 [SerializeField] 118 MarkerInfo mLabelInfo; 119 120 [SerializeField] 121 BranchInfo mAncestorBranchInfo; 122 [SerializeField] 123 ChangesetInfo mAncestorChangesetInfo; 124 [SerializeField] 125 MarkerInfo mAncestorLabelInfo; 126 } 127}