protected void setEditorType() { if (objs.GetType() == typeof(Unit[, , ])) { type = EditorType.Tile; } else if (objs.GetType() == typeof(Tile[, , ])) { type = EditorType.Unit; } }
public void Write <T>(T[,,] param, string tag) { ES2Type type = ES2TypeManager.GetES2Type(param.GetType().GetElementType()); if (type == null) { Debug.LogError(typeof(T).ToString() + " is not currently supported or it's ES2Type was not found, but you may be able to add support for it through Assets > Easy Save 2 > Manage Types"); } WriteHeader(tag, ES2Keys.Key._NativeArray, type, null); Write <T>(param, type); WriteTerminator(); WriteLength(); tagsToDelete.Add(tag); }
private static void Copy3DItems <T>( T[,,] sourceArray, T[,,] targetArray, MemberSettings settings, ReferencePairCollection referencePairs) { var copyValues = State.Copy.IsCopyValue( sourceArray.GetType().GetItemType(), settings); for (var i = sourceArray.GetLowerBound(0); i <= sourceArray.GetUpperBound(0); i++) { for (var j = sourceArray.GetLowerBound(1); j <= sourceArray.GetUpperBound(1); j++) { for (var k = sourceArray.GetLowerBound(2); k <= sourceArray.GetUpperBound(2); k++) { if (copyValues) { targetArray[i, j, k] = sourceArray[i, j, k]; continue; } var sv = sourceArray[i, j, k]; var tv = targetArray[i, j, k]; bool created; bool needsSync; var clone = State.Copy.CloneWithoutSync(sv, tv, settings, out created, out needsSync); if (created) { targetArray[i, j, k] = clone; } if (needsSync) { State.Copy.Sync(sv, clone, settings, referencePairs); } } } } }
public void Write <T>(T[,,] param) { Write(param, ES2TypeManager.GetES2Type(param.GetType().GetElementType())); }