コード例 #1
0
        public static void OnGUI_DeployGateMembersWindow()
        {
            if (membersInfo == null)
            {
                membersInfo = DeployGateAPI.GetMembers() ?? default(MembersInfo);
                return;
            }
            GUILayout.Label("Members", sectionHeader);

            if (GUI.Button(new Rect(Screen.width - 70, 25, 60, 16), "Refresh"))
            {
                membersInfo = DeployGateAPI.GetMembers() ?? default(MembersInfo);
                EditorGUIUtility.ExitGUI();
            }

            EditorGUILayout.Space();

            if (!membersInfo.error)
            {
                foreach (var member in membersInfo.members)
                {
                    DrawMember(member);
                }
            }

            DrawAddMember();

            OnGUI_DeployGateInfo();
        }
コード例 #2
0
        public async Task <IActionResult> Edit(int id, [Bind("MemberID,DiscordID,IsAdmin,DiscordName,MCName,Name,DateAccepted,Twitch,Youtube,Website,Retired")] MembersInfo membersInfo)
        {
            if (id != membersInfo.MemberID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(membersInfo);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!MembersInfoExists(membersInfo.MemberID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(membersInfo));
        }
コード例 #3
0
 static void DrawMember(Member member)
 {
     EditorGUILayout.BeginHorizontal("box");
     EditorGUILayout.LabelField(member.role == 1 ? "開発者" : "テスター", member.name);
     if (GUILayout.Button("x"))
     {
         membersInfo = DeployGateAPI.DeleteMember(member);
     }
     EditorGUILayout.EndHorizontal();
 }
コード例 #4
0
        public async Task <IActionResult> Create([Bind("MemberID,DiscordID,IsAdmin,DiscordName,MCName,Name,DateAccepted,Twitch,Youtube,Website,Retired")] MembersInfo membersInfo)
        {
            if (ModelState.IsValid)
            {
                _context.Add(membersInfo);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(membersInfo));
        }
コード例 #5
0
        public MembersInfo GetMembers()
        {
            MembersInfo user = null;

            string userID = GetUserID();

            if (string.IsNullOrWhiteSpace(userID) == false)
            {
                MembersInfoManager mim = new MembersInfoManager();
                user = mim.GetMembersByID(Guid.Parse(userID));
            }

            return(user);
        }
コード例 #6
0
        static void DrawAddMember()
        {
            Rect rect = GUILayoutUtility.GetRect(new GUIContent("Add Member"), sectionHeader);

            rect.y = Screen.height - 100;
            GUI.Label(rect, "Add Member", sectionHeader);
            rect.y     += 25;
            rect.width  = 80;
            role        = EditorGUI.Popup(rect, role, roles);
            rect.x     += rect.width + 10;
            rect.width  = 200;
            rect.height = 16;
            name        = EditorGUI.TextField(rect, name);
            rect.x     += rect.width + 10;
            rect.width  = 50;
            if (GUI.Button(rect, "Add"))
            {
                membersInfo = DeployGateAPI.AddMember(role + 1, name);
            }
        }
コード例 #7
0
            public static T Deserialize<T>(string json)
            {
                object deserialize = Deserialize(json);

                object returnValue = null;
                var dic = deserialize as Dictionary<string, object>;
                if (typeof(T) == typeof(Message))
                {
                    Message message = new Message();
                    message.title = Convert.ToString(dic.GetValue("title"));
                    message.text = Convert.ToString(dic.GetValue("text"));
                    message.date = Convert.ToString(dic.GetValue("date"));
                    message.version = Convert.ToString(dic.GetValue("version"));
                    message.versionCode = Convert.ToInt32( dic.GetValue("versionCode"));
                    returnValue = message;
                }

                if (typeof(T) == typeof(MembersInfo))
                {
                    MembersInfo membersInfo = new MembersInfo();
                    membersInfo.error = bool.Parse(dic.GetValue("error").ToString());

                    if (!membersInfo.error)
                    {
                        var results = dic["results"] as Dictionary<string, object>;

                        var usage = results.GetValue("usage") as Dictionary<string, object>;
                        var users = results.GetValue("users") as List<object>;
                       
                        var members = new List<Member>();
                        foreach (var user in users)
                        {
                            Member member = Deserialize<Member>(Serialize(user));
                            if (member != null)
                                members.Add(member);
                        }

                        membersInfo.usage = Deserialize<Usage>(Serialize(usage));
                        membersInfo.members = members.ToArray();
                    }
                    returnValue = membersInfo;
                }

                if (typeof(T) == typeof(Member))
                {
                    Member member = new Member();
                    member.name = Convert.ToString(dic.GetValue("name"));
                    member.role = Convert.ToInt32(dic.GetValue("role"));
                    returnValue = member;
                }

                if (typeof(T) == typeof(Usage))
                {
                    Usage usage = new Usage();
                    usage.used = Convert.ToInt32(dic.GetValue("used"));
                    usage.max = Convert.ToInt32(dic.GetValue("max"));
                    returnValue = usage;
                }

                return (T)returnValue;
            }