protected override void OnOpen(object arg = null) { base.OnOpen(arg); m_data = arg as MapConfigData; Debug.Log(m_data); ChapterNoText.text = m_data.no; ChpaterNameText.text = m_data.name; GameModeText.text = ConfigConstants.GetDescription(m_data.gameMode); MapModeText.text = ConfigConstants.GetDescription(m_data.mapMode); this.OnCloseEvent += closeArg => { if (closeArg == null) { return; } int btnIndex = (int)closeArg; switch (btnIndex) { case ENTER_GAME_BTN: PveModule pveModule = ModuleAPI.PveModule; MapData mapData = MapModule.Instance.LoadModeMapData(m_data); pveModule.StartGame(m_data.gameMode, mapData); break; } }; }
public IActionResult Auth() { var claims = new[] { new Claim(JwtRegisteredClaimNames.Sub, "sub_id"), new Claim("custom", "cookie"), }; var signCred = new SigningCredentials(ConfigConstants.GetKey(), SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken(ConfigConstants.Issuer, ConfigConstants.Audiance, claims, notBefore: DateTime.Now, expires: DateTime.Now.AddDays(1), signCred); var json = new JwtSecurityTokenHandler().WriteToken(token); return(Ok(new { token = json })); }
/// <summary> /// /// </summary> /// <param name="grant_type">flow of access_token request</param> /// <param name="code">confirmation of the authentication process</param> /// <param name="redirect_uri"></param> /// <param name="client_id"></param> /// <returns></returns> public async Task <IActionResult> Token(string grant_type, string code, string redirect_uri, string client_id, string refresh_token) { // validate the code here // ... var claims = new[] { new Claim(JwtRegisteredClaimNames.Sub, "sub_id"), new Claim("custom", "cookie"), }; var signCred = new SigningCredentials(ConfigConstants.GetKey(), SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken(ConfigConstants.Issuer, ConfigConstants.Audiance, claims, notBefore: DateTime.Now, expires: grant_type == "refresh_token" ? DateTime.Now.AddMinutes(5) : DateTime.Now.AddMinutes(1), signCred); var access_token = new JwtSecurityTokenHandler().WriteToken(token); #region write token to response var responseObject = new { access_token, token_type = "Bearer", raw_claim = "oauthTutorial", refresh_token = "RefreshTokenSampleValueSomething77" }; var responseJson = JsonConvert.SerializeObject(responseObject); var responseBytes = Encoding.UTF8.GetBytes(responseJson); await Response.Body.WriteAsync(responseBytes, 0, responseBytes.Length); #endregion return(Redirect(redirect_uri)); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); EditorGUILayout.BeginVertical(); if (targets.Length > 1) { if (GUILayout.Button("Merge Connectors")) { var connectors = targets.OfType <RoadSegment>() .SelectMany(segment => segment.Connectors).ToArray(); foreach (var connector in connectors) { foreach (var other in connectors) { if (other != connector && ConfigConstants.Connected(other.transform, connector.transform)) { //TODO provide correct index for edge case usability Connect(connector, 0, other, 0); break; } } } } if (GUILayout.Button("Disconnect all")) { var connectors = targets.OfType <RoadSegment>() .SelectMany(segment => segment.Connectors).ToArray(); foreach (var con in connectors) { con.ConnectedTo = null; EditorUtility.SetDirty(con); } } } else { RoadSegment segment = (RoadSegment)target; int perRow = Mathf.FloorToInt(EditorGUIUtility.currentViewWidth / IconSize); if (_selectedConnector != null) { var validSegments = segment.GetConfig.Segments.Where(seg => seg.Connectors.Any(con => con.ConnectorType.Compatible(_selectedConnector.ConnectorType))); int buttonId = 0; bool inHoriBlock = false; foreach (var other in validSegments) { if (buttonId % perRow == 0) { EditorGUILayout.BeginHorizontal(); inHoriBlock = true; } if (GUILayout.Button(AssetPreview.GetAssetPreview(other.gameObject), GUILayout.Width(IconSize), GUILayout.Height(IconSize))) { int index = 0; if (_selectedConnector.ConnectedTo != null) { var exist = _selectedConnector.ConnectedTo.GetComponentInParent <RoadSegment>(); if (PrefabUtility.GetCorrespondingObjectFromOriginalSource(exist) == other) { index = (_selectedConnector.ConnectedToIndex + 1) % other.Connectors.Length; } DestroyImmediate(exist.gameObject); _selectedConnector.ConnectedTo = null; _selectedConnector.ConnectedToIndex = 0; } for (; index < other.Connectors.Length; index++) { if (_selectedConnector.ConnectorType.Compatible(other.Connectors[index].ConnectorType)) { break; } } PlaceSegment(segment.transform, _selectedConnector, other, index); } if (buttonId % perRow == perRow - 1) { EditorGUILayout.EndHorizontal(); inHoriBlock = false; } buttonId++; } if (inHoriBlock) { EditorGUILayout.EndHorizontal(); } Repaint(); // int selected = GUILayout.SelectionGrid(selected, // validSegments.Select(seg => AssetPreview.GetAssetPreview(seg.gameObject)).ToArray(), 5, // GUILayout.Width(IconSize), GUILayout.Height(IconSize)); } } EditorGUILayout.EndVertical(); }