You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.4 KiB
54 lines
1.4 KiB
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; |
|
} |
|
|
|
|
|
} |
|
} |