You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

ObjOfCharacter.cs 1.3 kB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using Google.Protobuf.WellKnownTypes;
  2. using Preparation.Interface;
  3. using Preparation.Utility;
  4. using System.Threading;
  5. namespace GameClass.GameObj
  6. {
  7. /// <summary>
  8. /// 所有物,具有主人(Parent)(特定玩家)属性的对象
  9. /// </summary>
  10. public abstract class ObjOfCharacter : Moveable, IObjOfCharacter
  11. {
  12. private ReaderWriterLockSlim objOfCharacterReaderWriterLock = new();
  13. public ReaderWriterLockSlim ObjOfCharacterReaderWriterLock => objOfCharacterReaderWriterLock;
  14. private ICharacter? parent = null; // 主人
  15. public ICharacter? Parent
  16. {
  17. get
  18. {
  19. lock (objOfCharacterReaderWriterLock)
  20. {
  21. return parent;
  22. }
  23. }
  24. set
  25. {
  26. lock (objOfCharacterReaderWriterLock)
  27. {
  28. parent = value;
  29. }
  30. }
  31. }
  32. // LHR注:本来考虑在构造函数里设置parent属性,见THUAI4在游戏引擎中才设置该属性,作罢。——2021/9/24
  33. public ObjOfCharacter(XY initPos, int initRadius, GameObjType initType) :
  34. base(initPos, initRadius, initType)
  35. {
  36. }
  37. }
  38. }