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;
                }
            };
        }
Ejemplo n.º 2
0
        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 }));
        }
Ejemplo n.º 3
0
        /// <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));
        }
Ejemplo n.º 4
0
        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();
        }