เริ่มกันเลย
1. ให้ทำการสมัคร Parse
2. ไปที่หน้า Dashboard และทำการสร้าง App
3. จากนั้นเปิด Unity และทำการ Import Parse Package ลงใน Unity Project
4. ให้ทำการสร้าง Empty GameObject แล้วตั้งชื่อว่า ParseInitialize
5. ให้ทำการ ลากไฟล์ ParseInitializeBehaviour ไปที่ ParseInitialize ดังรูป
โดยให้เพิ่ม Col (playerName และ score) ตามภาพ
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.Threading.Tasks;
using Parse; // เรียกใช้งาน Parse
public class ParseController : MonoBehaviour
{
// ใช้สำหรับเก็บ Text Field
private static string name = "";
private static string score = "";
// ใช้สำหรับเก็บค่าที่โหลดมาจาก Parse
private List<string> statckName;
private List<string> statckScore;
void Start()
{
statckName = new List<string>();
statckScore = new List<string>();
}
void OnGUI()
{
// ปุ่ม Save
if(GUI.Button(new Rect(10,10, 100, 30), "Save Score"))
{
SaveData();
}
// input name and score
name = GUI.TextField(new Rect(120, 10, 100, 30), name, 25);
score = GUI.TextField(new Rect(250, 10, 100, 30), score, 5);
// ปุ่ม Load
if(GUI.Button(new Rect(370, 10, 100, 30), "Load Score"))
{
LoadData();
}
// แสดงข้อมูล
DrawData();
}
private void SaveData()
{
// อ้างอิง Class (Table) ใน Parse และ ทำการ save ชื่อ และ คะแนน
ParseObject parseObj = new ParseObject("GameScore");
parseObj["playerName"] = name;
parseObj["score"] = int.Parse(score);
parseObj.SaveAsync().ContinueWith(task =>
{
// Save Data
if(task.IsCompleted)
{
Debug.Log("Save Success!!!");
name = "";
score = "";
}
});
}
private void LoadData()
{
// ถ้ามีข้อมูลเก่าให้เคลียทิ้ง
if(statckName.Count > 0)
{
statckName.Clear();
statckScore.Clear();
}
// ดึง คะแนนที่มากที่สุด 5 อันดับ
ParseQuery<ParseObject> query = ParseObject.GetQuery("GameScore").OrderByDescending("score").Limit(5);
query.FindAsync().ContinueWith(t =>
{
IEnumerable<ParseObject> results = t.Result;
// เพิ่ม ข้อมูลลงใน List
foreach(var result in results)
{
statckName.Add(result["playerName"].ToString());
statckScore.Add(result["score"].ToString());
}
});
}
private void DrawData()
{
for(int i = 0; i < statckName.Count; ++i)
{
GUI.Label(new Rect(10, 50 + (30 * i), 500, 30), statckName[i] + " " + statckScore[i]);
}
}
}
9. จากนั้นทำการทดสอบได้เลยครับ
เท่านี้ก็เป็นการใช้งาน Parse เบื้องต้นละครับ
ปล. มีอะไรแนะนำได้นะครับ