123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- using UnityEditor;
- using System.Collections;
- using UnityEngine;
- using SDKConfiguration;
- using System;
- public class ChainSafeServerSettings : EditorWindow
- {
- public string ProjectID = "Please Enter Your Project ID";
- public string ChainID = "Please Enter Your Chain ID";
- public string Chain = "Please Enter Your Chain i.e Ethereum, Binance, Cronos";
- public string Network = "Please Enter Your Network i.e Mainnet, Testnet";
- public string RPC = "Please Enter Your RPC";
- public User saveObject;
- Texture2D m_Logo = null;
- GameObject serverCheck = null;
- ProjectConfigScriptableObject projectConfigSO = null;
- // checks if data is already entered
- void Awake()
- {
- if ((ProjectID == ("Please Enter Your Project ID")) && (PlayerPrefs.GetString("ProjectID") != ""))
- {
- ProjectID = PlayerPrefs.GetString("ProjectID");
- PlayerPrefs.Save();
- }
- if ((ChainID == ("Please Enter Your Chain ID")) && (PlayerPrefs.GetString("ChainID") != ""))
- {
- ChainID = PlayerPrefs.GetString("ChainID");
- PlayerPrefs.Save();
- }
- if (Chain == ("Please Enter Your Chain i.e Ethereum, Binance, Cronos") && (PlayerPrefs.GetString("Chain") != ""))
- {
- Chain = PlayerPrefs.GetString("Chain");
- PlayerPrefs.Save();
- }
- if (Network == ("Please Enter Your Network i.e Mainnet, Testnet") && (PlayerPrefs.GetString("Network") != ""))
- {
- Network = PlayerPrefs.GetString("Network");
- PlayerPrefs.Save();
- }
- if (RPC == ("Please Enter Your RPC") && (PlayerPrefs.GetString("RPC") != ""))
- {
- RPC = PlayerPrefs.GetString("RPC");
- PlayerPrefs.Save();
- }
- }
- // Initializes window
- [MenuItem("Window/ChainSafeServerSettings")]
- public static void ShowWindow()
- {
- // show existing window instance. If one doesn't exist, make one.
- EditorWindow.GetWindow(typeof(ChainSafeServerSettings));
- }
- // called when menu is opened, loads Chainsafe Logo
- void OnEnable()
- {
- m_Logo = (Texture2D)Resources.Load("chainsafemenulogo", typeof(Texture2D));
- }
- // displayed content
- void OnGUI()
- {
- // image
- EditorGUILayout.BeginVertical("box");
- GUILayout.Label(m_Logo, GUILayout.MaxWidth(250f), GUILayout.MaxHeight(250f));
- EditorGUILayout.EndVertical();
- // text
- GUILayout.Label("Welcome To The ChainSafe SDK!", EditorStyles.boldLabel);
- GUILayout.Label("Here you can enter all the information needed to get your game started on the blockchain!", EditorStyles.label);
- // inputs
- ProjectID = EditorGUILayout.TextField("Project ID", ProjectID);
- ChainID = EditorGUILayout.TextField("Chain ID", ChainID);
- Chain = EditorGUILayout.TextField("Chain", Chain);
- Network = EditorGUILayout.TextField("Network", Network);
- RPC = EditorGUILayout.TextField("RPC", RPC);
- // buttons
- // register
- if (GUILayout.Button("Need To Register?"))
- {
- Application.OpenURL("https://dashboard.gaming.chainsafe.io/");
- }
- // docs
- if (GUILayout.Button("Check Out Our Docs!"))
- {
- Application.OpenURL("https://docs.gaming.chainsafe.io/");
- }
- // save button
- if (GUILayout.Button("Save Settings"))
- {
- Debug.Log("Saving Settings!");
- // set player prefs for unity open close within the editor
- PlayerPrefs.SetString("ProjectID", ProjectID);
- PlayerPrefs.SetString("ChainID", ChainID);
- PlayerPrefs.SetString("Chain", Chain);
- PlayerPrefs.SetString("Network", Network);
- PlayerPrefs.SetString("RPC", RPC);
- PlayerPrefs.SetString("Registered", "true");
- // set the scriptable object for when the project is built out
- projectConfigSO = (ProjectConfigScriptableObject)Resources.Load("ProjectConfigData", typeof(ScriptableObject));
- projectConfigSO.ProjectID = ProjectID;
- projectConfigSO.ChainID = ChainID;
- projectConfigSO.Chain = Chain;
- projectConfigSO.Network = Network;
- projectConfigSO.RPC = RPC;
- EditorUtility.SetDirty(projectConfigSO);
- AssetDatabase.SaveAssets();
- // assign script to prefab and instantiate then destroy after
- serverCheck = (GameObject)Resources.Load("dll", typeof(GameObject));
- GameObject serverCheckScript = (GameObject)Instantiate(serverCheck, new Vector3(0, 0, 0), new Quaternion(0, 0, 0, 0));
- serverCheckScript.GetComponent<ServerCheck>().CheckProject();
- Debug.Log("Server Check Script: " + serverCheck);
- }
- GUILayout.Label("Reminder: Your ProjectID Must Be Valid To Save & Build With Our SDK. You Can Register For One On Our Website At Dashboard.Gaming.Chainsafe.io", EditorStyles.label);
- }
- }
|