unity System.Action 回调是怎么做到的?因为做项目的时候需要用到,所以就找到了一下,找到了相关代码,仅供参考交流。
  1. using UnityEngine;
  2. namespace Liulala.Project
  3. {
  4. public class Data
  5. {
  6. public System.Action<int, int> OnDateChange;
  7. public int Date1 { get; private set; }
  8. public int Date2 { get; private set; }
  9. public void SetData(int date)
  10. {
  11. Date1 = date;
  12. Date2 = _dateStart + date;
  13. PlayerPrefs.SetInt(NewDate, Date2);
  14. OnDateChange(Date1, Date2);
  15. }
  16. public Data()
  17. {
  18. Date2 = PlayerPrefs.GetInt(NewDate);
  19. _dateStart = Date2;
  20. Date1 = 0;
  21. OnDateChange += (date1, date2) => { };
  22. }
  23. private int _dateStart;
  24. private static readonly string NewDate = "Date2";
  25. }
  26. }
  27. using Liulala.Project;
  28. using UnityEngine;
  29. publicclass Game : MonoBehaviour
  30. {
  31. privatevoid Start()
  32. {
  33. _Data = new Data();
  34. _Data.OnDateChange += ChangeView();
  35. }
  36. private void ChangeView()
  37. {
  38. }
  39. private Data _Data;
  40. }