namespace ET { [FriendClass(typeof(Cabin))] public static class CabinSystem { public static void FromMessage(this Cabin self, CabinProto proto) { self.Id = proto.Id; self.PeopleId = proto.PeopleId; self.FarmlandIds = proto.FarmlandIds; } public static CabinProto ToMessage(this Cabin self) { var proto = new CabinProto(); proto.Id = self.Id; proto.PeopleId = self.PeopleId; proto.FarmlandIds = self.FarmlandIds; return proto; } public static void PeoplePrepare(this Cabin self,long peopleId) { self.PeopleId = peopleId; } public static bool PeopleArrive(this Cabin self,long peopleId) { if (self.PeopleId != peopleId) { return false; } self.ResidentState = 1; return true; } public static void PeopleLeave(this Cabin self) { self.ResidentState = 0; self.PeopleId = 0; } public static bool AddFarmland(this Cabin self,long farmlandId) { if (self.FarmlandIds.Contains(farmlandId)) { return false; } self.FarmlandIds.Add(farmlandId); return true; } } }