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
3 years ago
|
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;
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|
||
|
}
|