-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSetAuthDomain.cs
More file actions
116 lines (97 loc) · 3.65 KB
/
Copy pathSetAuthDomain.cs
File metadata and controls
116 lines (97 loc) · 3.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
using System;
using System.Collections.Generic;
using System.Diagnostics;
using Definitions.Build;
using TrollKing.Core;
using UnityEditor;
using UnityEditor.Build;
using UnityEditor.Build.Reporting;
using UnityEngine;
using Debug = UnityEngine.Debug;
namespace TrollKingStudios.Utilities
{
public static class SetAuthDomain
{
private static LogScope Log = new LogScope(nameof(SetAuthDomain));
private static string TK_QUEST_DEV = "TK_QUEST_DEV";
private static string TK_QUEST_PROD = "TK_QUEST_PROD";
private static string TK_ANDROID_DEV = "TK_ANDROID_DEV";
private static string TK_ANDROID_PROD = "TK_ANDROID_PROD";
private static string TK_IOS_DEV = "TK_IOS_DEV";
private static string TK_IOS_PROD = "TK_IOS_PROD";
private static string TK_WIN_DEV = "TK_WIN_DEV";
private static string TK_WIN_PROD = "TK_WIN_PROD";
private static List<string> AuthSymbols = new ()
{
TK_ANDROID_DEV,
TK_ANDROID_PROD,
TK_IOS_DEV,
TK_IOS_PROD,
TK_WIN_DEV,
TK_WIN_PROD,
TK_QUEST_DEV,
TK_QUEST_PROD
};
// BETA
[MenuItem("TrollKing/Auth/Beta/Quest")]
public static void SetAuthDomainBetaQuest()
{
ReplaceAuthSymbol(NamedBuildTarget.Android, TK_QUEST_DEV);
}
[MenuItem("TrollKing/Auth/Beta/Android")]
public static void SetAuthDomainBetaAndroid()
{
ReplaceAuthSymbol(NamedBuildTarget.Android, TK_ANDROID_DEV);
}
[MenuItem("TrollKing/Auth/Beta/IOS")]
public static void SetAuthDomainBetaIOS()
{
ReplaceAuthSymbol(NamedBuildTarget.iOS, TK_IOS_DEV);
}
[MenuItem("TrollKing/Auth/Beta/Windows")]
public static void SetAuthDomainBetaWin()
{
ReplaceAuthSymbol(NamedBuildTarget.Standalone, TK_WIN_DEV);
}
// PROD
[MenuItem("TrollKing/Auth/Prod/Quest")]
public static void SetAuthDomainProdQuest()
{
ReplaceAuthSymbol(NamedBuildTarget.Android, TK_QUEST_PROD);
}
[MenuItem("TrollKing/Auth/Prod/Android")]
public static void SetAuthDomainProdAndroid()
{
ReplaceAuthSymbol(NamedBuildTarget.Android, TK_ANDROID_PROD);
}
[MenuItem("TrollKing/Auth/Prod/IOS")]
public static void SetAuthDomainProdIOS()
{
ReplaceAuthSymbol(NamedBuildTarget.iOS, TK_IOS_PROD);
}
[MenuItem("TrollKing/Auth/Prod/Windows")]
public static void SetAuthDomainProdWin()
{
ReplaceAuthSymbol(NamedBuildTarget.Standalone, TK_WIN_PROD);
}
private static string ReplaceAuthSymbol(NamedBuildTarget target, string toAdd)
{
var scriptingSymbols = PlayerSettings.GetScriptingDefineSymbols(target);
var symbols = scriptingSymbols.Split(';');
List<string> newSymbols = new List<string>();
foreach (string symbol in symbols)
{
if (AuthSymbols.Contains(symbol))
{
continue;
}
newSymbols.Add(symbol);
}
newSymbols.Add(toAdd);
var newSymbolString = string.Join(";", newSymbols);
Log.Info(() => $"Scripting Symbols: {scriptingSymbols} new: {newSymbolString}");
PlayerSettings.SetScriptingDefineSymbols(target, newSymbolString);
return newSymbolString;
}
}
}