Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
10de565
Update
bac0id Aug 29, 2020
ba27860
Update README.md
bac0id Aug 29, 2020
5cb7f26
Update README.md
bac0id Aug 29, 2020
1632b52
Do some prepare work
bac0id Aug 29, 2020
76a22a0
Update ICustomGameData.cs
bac0id Aug 29, 2020
cf17695
Decoupling Politic Party
bac0id Aug 29, 2020
9a92b72
Update Election
bac0id Aug 30, 2020
3721ce3
Add a static model of Politics part
bac0id Aug 30, 2020
6ea853e
Add files via upload
bac0id Aug 30, 2020
fe5469d
Delete PoliticsStaticModel.png
bac0id Aug 30, 2020
0788baf
Add files via upload
bac0id Aug 30, 2020
edd9c5e
Add files via upload
bac0id Aug 30, 2020
d1ea9e4
Add files via upload
bac0id Aug 30, 2020
25d840f
Delete PoliticsStaticModel-fixed.png
bac0id Aug 30, 2020
d6198e4
Add files via upload
bac0id Aug 30, 2020
22deeeb
Delete PoliticsStaticModel-fixed.png
bac0id Aug 30, 2020
ccd257b
Fix the picture again and again
bac0id Aug 30, 2020
e958b8e
Delete PoliticsStaticModel-fixed.png
bac0id Aug 30, 2020
f1c0e5c
Add files via upload
bac0id Aug 30, 2020
2ad1879
Update Politic Party
bac0id Aug 30, 2020
4b99fd0
Merge branch 'master' of https://github.com/bac0id/RealCity-master
bac0id Aug 30, 2020
bf2643a
Parliament meeting, Add Party factory
bac0id Aug 31, 2020
4478335
Update README.md
bac0id Aug 31, 2020
a1d2032
Update New Politics
bac0id Aug 31, 2020
54fb1d3
Merge branch 'master' of https://github.com/bac0id/RealCity-master
bac0id Aug 31, 2020
373dbbf
Update README.md
bac0id Aug 31, 2020
2d62124
Abstract bill
bac0id Sep 1, 2020
9ddcb38
Merge branch 'master' of https://github.com/bac0id/RealCity-master
bac0id Sep 1, 2020
7e74b69
Update Bill and add supportive logics for politics
bac0id Sep 2, 2020
d51f5bd
Update Bills.cs
bac0id Sep 2, 2020
e5d22ab
Update interface IBill
bac0id Sep 2, 2020
8c9efc7
Update Election, add annotation, etc
bac0id Sep 2, 2020
202a4e6
Add Government, decoupling election etc
bac0id Sep 3, 2020
0226737
Add governmental meeting, update interfaces
bac0id Sep 4, 2020
d7c84ee
Ipdate IParty interface, fix coding style
bac0id Sep 5, 2020
ce78138
Update UI
bac0id Sep 5, 2020
0d1fced
Update extension method for Array and delete redundant codes
bac0id Sep 6, 2020
ce7db95
Fix coding style
bac0id Sep 7, 2020
e60d7a6
Update RealCity.csproj
bac0id Sep 7, 2020
27ed933
Fix logical bug
bac0id Sep 16, 2020
ac1376a
Remove abstract VoteResult
bac0id Sep 20, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 21 additions & 21 deletions CustomAI/RealCityCommercialBuildingAI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,28 +4,28 @@

namespace RealCity.CustomAI
{
public class RealCityCommercialBuildingAI
{
public delegate TransferManager.TransferReason CommercialBuildingAIGetIncomingTransferReason(CommercialBuildingAI CommercialBuildingAI);
public static CommercialBuildingAIGetIncomingTransferReason GetIncomingTransferReason;
public class RealCityCommercialBuildingAI
{
public delegate TransferManager.TransferReason CommercialBuildingAIGetIncomingTransferReason(CommercialBuildingAI CommercialBuildingAI);
public static CommercialBuildingAIGetIncomingTransferReason GetIncomingTransferReason;

public delegate int CommercialBuildingAIMaxIncomingLoadSize(CommercialBuildingAI CommercialBuildingAI);
public static CommercialBuildingAIMaxIncomingLoadSize MaxIncomingLoadSize;
public delegate int CommercialBuildingAIMaxIncomingLoadSize(CommercialBuildingAI CommercialBuildingAI);
public static CommercialBuildingAIMaxIncomingLoadSize MaxIncomingLoadSize;

public delegate void CommercialBuildingAIGetVisitBehaviour(CommercialBuildingAI CommercialBuildingAI, ushort buildingID, ref Building buildingData, ref Citizen.BehaviourData behaviour, ref int aliveCount, ref int totalCount);
public static CommercialBuildingAIGetVisitBehaviour GetVisitBehaviour;
public delegate void CommercialBuildingAIGetVisitBehaviour(CommercialBuildingAI CommercialBuildingAI, ushort buildingID, ref Building buildingData, ref Citizen.BehaviourData behaviour, ref int aliveCount, ref int totalCount);
public static CommercialBuildingAIGetVisitBehaviour GetVisitBehaviour;

public static void InitDelegate()
{
if (GetIncomingTransferReason != null)
return;
if (MaxIncomingLoadSize != null)
return;
if (GetVisitBehaviour != null)
return;
GetVisitBehaviour = FastDelegateFactory.Create<CommercialBuildingAIGetVisitBehaviour>(typeof(CommercialBuildingAI), "GetVisitBehaviour", instanceMethod: true);
GetIncomingTransferReason = FastDelegateFactory.Create<CommercialBuildingAIGetIncomingTransferReason>(typeof(CommercialBuildingAI), "GetIncomingTransferReason", instanceMethod: true);
MaxIncomingLoadSize = FastDelegateFactory.Create<CommercialBuildingAIMaxIncomingLoadSize>(typeof(CommercialBuildingAI), "MaxIncomingLoadSize", instanceMethod: true);
}
}
public static void InitDelegate()
{
if (GetIncomingTransferReason != null)
return;
if (MaxIncomingLoadSize != null)
return;
if (GetVisitBehaviour != null)
return;
GetVisitBehaviour = FastDelegateFactory.Create<CommercialBuildingAIGetVisitBehaviour>(typeof(CommercialBuildingAI), "GetVisitBehaviour", instanceMethod: true);
GetIncomingTransferReason = FastDelegateFactory.Create<CommercialBuildingAIGetIncomingTransferReason>(typeof(CommercialBuildingAI), "GetIncomingTransferReason", instanceMethod: true);
MaxIncomingLoadSize = FastDelegateFactory.Create<CommercialBuildingAIMaxIncomingLoadSize>(typeof(CommercialBuildingAI), "MaxIncomingLoadSize", instanceMethod: true);
}
}
}
52 changes: 26 additions & 26 deletions CustomAI/RealCityCommonBuildingAI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,34 +6,34 @@

namespace RealCity.CustomAI
{
public class RealCityCommonBuildingAI
{
public delegate void CommonBuildingAICalculateGuestVehicles1(CommonBuildingAI CommonBuildingAI, ushort buildingID, ref Building data, TransferManager.TransferReason material1, TransferManager.TransferReason material2, ref int count, ref int cargo, ref int capacity, ref int outside);
public static CommonBuildingAICalculateGuestVehicles1 CalculateGuestVehicles1;
public class RealCityCommonBuildingAI
{
public delegate void CommonBuildingAICalculateGuestVehicles1(CommonBuildingAI CommonBuildingAI, ushort buildingID, ref Building data, TransferManager.TransferReason material1, TransferManager.TransferReason material2, ref int count, ref int cargo, ref int capacity, ref int outside);
public static CommonBuildingAICalculateGuestVehicles1 CalculateGuestVehicles1;

public delegate void CommonBuildingAICalculateGuestVehicles(CommonBuildingAI CommonBuildingAI, ushort buildingID, ref Building data, TransferManager.TransferReason material, ref int count, ref int cargo, ref int capacity, ref int outside);
public static CommonBuildingAICalculateGuestVehicles CalculateGuestVehicles;
public delegate void CommonBuildingAICalculateGuestVehicles(CommonBuildingAI CommonBuildingAI, ushort buildingID, ref Building data, TransferManager.TransferReason material, ref int count, ref int cargo, ref int capacity, ref int outside);
public static CommonBuildingAICalculateGuestVehicles CalculateGuestVehicles;

public delegate void CommonBuildingAICalculateOwnVehicles(CommonBuildingAI CommonBuildingAI, ushort buildingID, ref Building data, TransferManager.TransferReason material, ref int count, ref int cargo, ref int capacity, ref int outside);
public static CommonBuildingAICalculateOwnVehicles CalculateOwnVehicles;
public delegate void CommonBuildingAICalculateOwnVehicles(CommonBuildingAI CommonBuildingAI, ushort buildingID, ref Building data, TransferManager.TransferReason material, ref int count, ref int cargo, ref int capacity, ref int outside);
public static CommonBuildingAICalculateOwnVehicles CalculateOwnVehicles;

public delegate void CommonBuildingAIGetWorkBehaviour(CommonBuildingAI CommonBuildingAI, ushort buildingID, ref Building buildingData, ref Citizen.BehaviourData behaviour, ref int aliveCount, ref int totalCount);
public static CommonBuildingAIGetWorkBehaviour GetWorkBehaviour;
public delegate void CommonBuildingAIGetWorkBehaviour(CommonBuildingAI CommonBuildingAI, ushort buildingID, ref Building buildingData, ref Citizen.BehaviourData behaviour, ref int aliveCount, ref int totalCount);
public static CommonBuildingAIGetWorkBehaviour GetWorkBehaviour;

public static void InitDelegate()
{
if (CalculateOwnVehicles != null)
return;
if (GetWorkBehaviour != null)
return;
if (CalculateGuestVehicles != null)
return;
if (CalculateGuestVehicles1 != null)
return;
CalculateOwnVehicles = FastDelegateFactory.Create<CommonBuildingAICalculateOwnVehicles>(typeof(CommonBuildingAI), "CalculateOwnVehicles", instanceMethod: true);
GetWorkBehaviour = FastDelegateFactory.Create<CommonBuildingAIGetWorkBehaviour>(typeof(CommonBuildingAI), "GetWorkBehaviour", instanceMethod: true);
CalculateGuestVehicles = FastDelegateFactory.Create<CommonBuildingAICalculateGuestVehicles>(typeof(CommonBuildingAI), "CalculateGuestVehicles", instanceMethod: true);
CalculateGuestVehicles1 = FastDelegateFactory.Create<CommonBuildingAICalculateGuestVehicles1>(typeof(CommonBuildingAI), "CalculateGuestVehicles", instanceMethod: true);
}
}
public static void InitDelegate()
{
if (CalculateOwnVehicles != null)
return;
if (GetWorkBehaviour != null)
return;
if (CalculateGuestVehicles != null)
return;
if (CalculateGuestVehicles1 != null)
return;
CalculateOwnVehicles = FastDelegateFactory.Create<CommonBuildingAICalculateOwnVehicles>(typeof(CommonBuildingAI), "CalculateOwnVehicles", instanceMethod: true);
GetWorkBehaviour = FastDelegateFactory.Create<CommonBuildingAIGetWorkBehaviour>(typeof(CommonBuildingAI), "GetWorkBehaviour", instanceMethod: true);
CalculateGuestVehicles = FastDelegateFactory.Create<CommonBuildingAICalculateGuestVehicles>(typeof(CommonBuildingAI), "CalculateGuestVehicles", instanceMethod: true);
CalculateGuestVehicles1 = FastDelegateFactory.Create<CommonBuildingAICalculateGuestVehicles1>(typeof(CommonBuildingAI), "CalculateGuestVehicles", instanceMethod: true);
}
}
}
64 changes: 32 additions & 32 deletions CustomAI/RealCityIndustrialBuildingAI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,40 +6,40 @@

namespace RealCity.CustomAI
{
public class RealCityIndustrialBuildingAI
{
public delegate TransferManager.TransferReason IndustrialBuildingAIGetIncomingTransferReason(IndustrialBuildingAI IndustrialBuildingAI, ushort buildingID);
public static IndustrialBuildingAIGetIncomingTransferReason GetIncomingTransferReason;
public class RealCityIndustrialBuildingAI
{
public delegate TransferManager.TransferReason IndustrialBuildingAIGetIncomingTransferReason(IndustrialBuildingAI IndustrialBuildingAI, ushort buildingID);
public static IndustrialBuildingAIGetIncomingTransferReason GetIncomingTransferReason;

public delegate TransferManager.TransferReason IndustrialBuildingAIGetOutgoingTransferReason(IndustrialBuildingAI IndustrialBuildingAI);
public static IndustrialBuildingAIGetOutgoingTransferReason GetOutgoingTransferReason;
public delegate TransferManager.TransferReason IndustrialBuildingAIGetOutgoingTransferReason(IndustrialBuildingAI IndustrialBuildingAI);
public static IndustrialBuildingAIGetOutgoingTransferReason GetOutgoingTransferReason;

public delegate TransferManager.TransferReason IndustrialBuildingAIGetSecondaryIncomingTransferReason(IndustrialBuildingAI IndustrialBuildingAI, ushort buildingID);
public static IndustrialBuildingAIGetSecondaryIncomingTransferReason GetSecondaryIncomingTransferReason;
public delegate TransferManager.TransferReason IndustrialBuildingAIGetSecondaryIncomingTransferReason(IndustrialBuildingAI IndustrialBuildingAI, ushort buildingID);
public static IndustrialBuildingAIGetSecondaryIncomingTransferReason GetSecondaryIncomingTransferReason;

public delegate int IndustrialBuildingAIMaxIncomingLoadSize(IndustrialBuildingAI IndustrialBuildingAI);
public static IndustrialBuildingAIMaxIncomingLoadSize MaxIncomingLoadSize;

public delegate int IndustrialBuildingAIGetConsumptionDivider(IndustrialBuildingAI IndustrialBuildingAI);
public static IndustrialBuildingAIGetConsumptionDivider GetConsumptionDivider;
public delegate int IndustrialBuildingAIMaxIncomingLoadSize(IndustrialBuildingAI IndustrialBuildingAI);
public static IndustrialBuildingAIMaxIncomingLoadSize MaxIncomingLoadSize;

public static void InitDelegate()
{
if (GetIncomingTransferReason != null)
return;
if (GetOutgoingTransferReason != null)
return;
if (GetSecondaryIncomingTransferReason != null)
return;
if (MaxIncomingLoadSize != null)
return;
if (GetConsumptionDivider != null)
return;
GetIncomingTransferReason = FastDelegateFactory.Create<IndustrialBuildingAIGetIncomingTransferReason>(typeof(IndustrialBuildingAI), "GetIncomingTransferReason", instanceMethod: true);
GetOutgoingTransferReason = FastDelegateFactory.Create<IndustrialBuildingAIGetOutgoingTransferReason>(typeof(IndustrialBuildingAI), "GetOutgoingTransferReason", instanceMethod: true);
GetSecondaryIncomingTransferReason = FastDelegateFactory.Create<IndustrialBuildingAIGetSecondaryIncomingTransferReason>(typeof(IndustrialBuildingAI), "GetSecondaryIncomingTransferReason", instanceMethod: true);
MaxIncomingLoadSize = FastDelegateFactory.Create<IndustrialBuildingAIMaxIncomingLoadSize>(typeof(IndustrialBuildingAI), "MaxIncomingLoadSize", instanceMethod: true);
GetConsumptionDivider = FastDelegateFactory.Create<IndustrialBuildingAIGetConsumptionDivider>(typeof(IndustrialBuildingAI), "GetConsumptionDivider", instanceMethod: true);
}
}
public delegate int IndustrialBuildingAIGetConsumptionDivider(IndustrialBuildingAI IndustrialBuildingAI);
public static IndustrialBuildingAIGetConsumptionDivider GetConsumptionDivider;

public static void InitDelegate()
{
if (GetIncomingTransferReason != null)
return;
if (GetOutgoingTransferReason != null)
return;
if (GetSecondaryIncomingTransferReason != null)
return;
if (MaxIncomingLoadSize != null)
return;
if (GetConsumptionDivider != null)
return;
GetIncomingTransferReason = FastDelegateFactory.Create<IndustrialBuildingAIGetIncomingTransferReason>(typeof(IndustrialBuildingAI), "GetIncomingTransferReason", instanceMethod: true);
GetOutgoingTransferReason = FastDelegateFactory.Create<IndustrialBuildingAIGetOutgoingTransferReason>(typeof(IndustrialBuildingAI), "GetOutgoingTransferReason", instanceMethod: true);
GetSecondaryIncomingTransferReason = FastDelegateFactory.Create<IndustrialBuildingAIGetSecondaryIncomingTransferReason>(typeof(IndustrialBuildingAI), "GetSecondaryIncomingTransferReason", instanceMethod: true);
MaxIncomingLoadSize = FastDelegateFactory.Create<IndustrialBuildingAIMaxIncomingLoadSize>(typeof(IndustrialBuildingAI), "MaxIncomingLoadSize", instanceMethod: true);
GetConsumptionDivider = FastDelegateFactory.Create<IndustrialBuildingAIGetConsumptionDivider>(typeof(IndustrialBuildingAI), "GetConsumptionDivider", instanceMethod: true);
}
}
}
23 changes: 11 additions & 12 deletions CustomAI/RealCityIndustrialExtractorAI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,16 @@

namespace RealCity.CustomAI
{
public class RealCityIndustrialExtractorAI
{
public delegate TransferManager.TransferReason IndustrialExtractorAIGetOutgoingTransferReason(IndustrialExtractorAI IndustrialExtractorAI);
public static IndustrialExtractorAIGetOutgoingTransferReason GetOutgoingTransferReason;
public class RealCityIndustrialExtractorAI
{
public delegate TransferManager.TransferReason IndustrialExtractorAIGetOutgoingTransferReason(IndustrialExtractorAI IndustrialExtractorAI);
public static IndustrialExtractorAIGetOutgoingTransferReason GetOutgoingTransferReason;

public static void InitDelegate()
{
if (GetOutgoingTransferReason != null)
return;
GetOutgoingTransferReason = FastDelegateFactory.Create<IndustrialExtractorAIGetOutgoingTransferReason>(typeof(IndustrialExtractorAI), "GetOutgoingTransferReason", instanceMethod: true);
}
}
public static void InitDelegate()
{
if (GetOutgoingTransferReason != null)
return;
GetOutgoingTransferReason = FastDelegateFactory.Create<IndustrialExtractorAIGetOutgoingTransferReason>(typeof(IndustrialExtractorAI), "GetOutgoingTransferReason", instanceMethod: true);
}
}
}

Loading