@@ -22,19 +22,38 @@ void OnDisable()
2222 EventManager . StopListening ( "GetNewData" , GetNewData ) ;
2323 }
2424
25+
26+
27+
2528 // host and endpoint for API
2629 public string host ;
2730 public string endpoint ;
31+
2832 // the current data as string
2933 public static string current ;
3034 // as Dict
31- public static IList < FeedData > feeds ;
35+ public static IList < FeedData > feeds = new List < FeedData > ( ) ;
36+
37+
38+ // http://127.0.0.1:5000/api/feed/recent
3239
3340 private void Start ( )
3441 {
42+ // HOSTS
43+
44+ // live server
3545 host = "https://tallysavestheinternet.com/api/" ;
46+ // dev server
47+ host = "http://127.0.0.1:5000/api/" ;
48+
49+
50+ // ENDPOINTS
51+
3652 //endpoint = "feed/range/1/week"; // a whole week
37- endpoint = "feed/recent" ; // 20 recent
53+ endpoint = "feed/recent" ; // 20 recent
54+
55+
56+
3857 }
3958
4059
@@ -65,24 +84,121 @@ public static IEnumerator GetRequest(string uri)
6584 Debug . Log ( pages [ page ] + ":\n Received: " + webRequest . downloadHandler . text ) ;
6685
6786 // parse JSON array
68- JArray feedsArray = JArray . Parse ( webRequest . downloadHandler . text ) ;
87+ JArray a = JArray . Parse ( webRequest . downloadHandler . text ) ;
88+
89+
6990
70- feeds = feedsArray . Select ( p => new FeedData
91+
92+ foreach ( JObject item in a )
7193 {
72- username = ( string ) p [ "username" ] ,
73- avatarPath = ( string ) p [ "avatarPath" ] ,
74- item = ( string ) p [ "item" ] ,
75- type = ( string ) p [ "type" ] ,
76- name = ( string ) p [ "name" ] ,
77- level = ( int ) p [ "level" ] ,
78- stat = ( string ) p [ "stat" ] ,
79- captured = ( int ) p [ "captured" ] ,
80- time = ( DateTime ) p [ "date" ] ,
94+ // base class properties
95+ string _username = item . GetValue ( "username" ) . ToString ( ) ;
96+ string _avatarPath = item . GetValue ( "avatarPath" ) . ToString ( ) ;
97+ string _eventType = item . GetValue ( "eventType" ) . ToString ( ) ;
98+ string _createdAtStr = item . GetValue ( "createdAt" ) . ToString ( ) ;
99+
100+ // parse string to ISO 8601 format
101+ DateTime _createdAt = DateTime . Parse ( _createdAtStr , null , System . Globalization . DateTimeStyles . RoundtripKind ) ;
102+
103+ // parse eventData
104+ JObject d = JObject . Parse ( item . GetValue ( "eventData" ) . ToString ( ) ) ;
105+
106+ if ( _eventType == "attack" )
107+ {
108+ feeds . Add ( new AttackData
109+ {
110+ username = _username ,
111+ avatarPath = _avatarPath ,
112+ eventType = _eventType ,
113+ createdAt = _createdAt ,
114+
115+ name = ( string ) d [ "name" ] ,
116+ type = ( string ) d [ "level" ] ,
117+ selected = ( bool ) d [ "selected" ]
118+ } ) ;
119+ }
120+ else if ( _eventType == "badge" )
121+ {
122+ feeds . Add ( new BadgeData
123+ {
124+ username = _username ,
125+ avatarPath = _avatarPath ,
126+ eventType = _eventType ,
127+ createdAt = _createdAt ,
128+
129+ name = ( string ) d [ "name" ] ,
130+ level = ( int ) d [ "level" ]
131+ } ) ;
132+ }
133+ else if ( _eventType == "consumable" )
134+ {
135+ feeds . Add ( new ConsumableData
136+ {
137+ username = _username ,
138+ avatarPath = _avatarPath ,
139+ eventType = _eventType ,
140+ createdAt = _createdAt ,
141+
142+ name = ( string ) d [ "name" ] ,
143+ slug = ( string ) d [ "slug" ] ,
144+ stat = ( string ) d [ "stat" ] ,
145+ type = ( string ) d [ "type" ] ,
146+ value = ( int ) d [ "value" ]
147+ } ) ;
148+ }
149+ else if ( _eventType == "disguise" )
150+ {
151+ feeds . Add ( new DisguiseData
152+ {
153+ username = _username ,
154+ avatarPath = _avatarPath ,
155+ eventType = _eventType ,
156+ createdAt = _createdAt ,
157+
158+ name = ( string ) d [ "name" ] ,
159+ type = ( string ) d [ "type" ]
160+ } ) ;
161+ }
162+ else if ( _eventType == "monster" )
163+ {
164+ feeds . Add ( new MonsterData
165+ {
166+ username = _username ,
167+ avatarPath = _avatarPath ,
168+ eventType = _eventType ,
169+ createdAt = _createdAt ,
170+
171+ mid = ( int ) d [ "mid" ] ,
172+ level = ( int ) d [ "level" ] ,
173+ captured = ( int ) d [ "captured" ] ,
174+ } ) ;
175+ }
176+
177+
178+
179+
180+ //Debug.Log(_eventType);
181+ }
182+
81183
82- } ) . ToList ( ) ;
83184
185+ //feeds = a.Select(p => new FeedData
186+ //{
187+ // username = (string)p["username"],
188+ // avatarPath = (string)p["avatarPath"],
189+ // eventType = (string)p["eventType"],
190+ // createdAt = (DateTime)p["createdAt"],
84191
85- //Debug.Log(feedsArray[0]);
192+ // //type = (string)p["type"],
193+ // //name = (string)p["name"],
194+ // //level = (int)p["level"],
195+ // //stat = (string)p["stat"],
196+ // //captured = (int)p["captured"],
197+
198+ //}).ToList();
199+
200+
201+ ////Debug.Log(a[0]);
86202 //Debug.Log(feeds.ToString());
87203
88204
@@ -91,11 +207,16 @@ public static IEnumerator GetRequest(string uri)
91207
92208 foreach ( var feed in feeds )
93209 {
210+
211+
212+
94213 var line =
95- feed . time + "\t " +
96- feed . username + ", " + feed . item + ", " +
97- feed . type + ", " + feed . name + ", " + feed . level +
98- ", " + feed . type ;
214+ feed . createdAt + "\t " +
215+ feed . username + ", " + feed . eventType + ", " +
216+ //feed.type + ", " + feed.name + ", " + feed.level +
217+ //", " + feed.type
218+ ""
219+ ;
99220 current += line + "<br>" ;
100221
101222 //Debug.Log(line);
0 commit comments