|
22 | 22 |
|
23 | 23 | using System;
|
24 | 24 | using System.Collections.Generic;
|
| 25 | +using System.Diagnostics; |
25 | 26 | using System.Runtime.CompilerServices;
|
26 | 27 |
|
27 | 28 | namespace Freeserf
|
@@ -176,6 +177,14 @@ private set
|
176 | 177 | }
|
177 | 178 | }
|
178 | 179 |
|
| 180 | + public void Update() |
| 181 | + { |
| 182 | + var temp = StateDataBase.Create(this) as StateDataBase; |
| 183 | + |
| 184 | + if (Data == null || temp == null || temp.GetType() != Data.GetType()) |
| 185 | + Data = temp; |
| 186 | + } |
| 187 | + |
179 | 188 | private readonly Serf serf;
|
180 | 189 |
|
181 | 190 | static StateData()
|
@@ -222,7 +231,7 @@ protected StateDataBase(StateData parent)
|
222 | 231 | this.parent = parent;
|
223 | 232 | }
|
224 | 233 |
|
225 |
| - private static object Create(object parent) |
| 234 | + internal static object Create(object parent) |
226 | 235 | {
|
227 | 236 | if (!(parent is StateData parentStateData))
|
228 | 237 | throw new ExceptionFreeserf($"Parent of {nameof(StateDataBase)} is no {nameof(StateData)}.");
|
@@ -341,6 +350,7 @@ public uint InventoryIndex
|
341 | 350 | }
|
342 | 351 | }
|
343 | 352 | }
|
| 353 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
344 | 354 | public StateDataIdleInStock IdleInStock
|
345 | 355 | {
|
346 | 356 | get
|
@@ -444,6 +454,7 @@ public int WaitCounter
|
444 | 454 | }
|
445 | 455 | }
|
446 | 456 | }
|
| 457 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
447 | 458 | public StateDataWalking Walking
|
448 | 459 | {
|
449 | 460 | get
|
@@ -503,6 +514,7 @@ public int SlopeLength
|
503 | 514 | }
|
504 | 515 | }
|
505 | 516 | }
|
| 517 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
506 | 518 | public StateDataEnteringBuilding EnteringBuilding
|
507 | 519 | {
|
508 | 520 | get
|
@@ -605,6 +617,7 @@ public State NextState
|
605 | 617 | }
|
606 | 618 | }
|
607 | 619 | }
|
| 620 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
608 | 621 | public StateDataLeavingBuilding LeavingBuilding
|
609 | 622 | {
|
610 | 623 | get
|
@@ -648,6 +661,7 @@ public int FieldB
|
648 | 661 | }
|
649 | 662 | }
|
650 | 663 | }
|
| 664 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
651 | 665 | public StateDataReadyToEnter ReadyToEnter
|
652 | 666 | {
|
653 | 667 | get
|
@@ -740,6 +754,7 @@ public int Substate
|
740 | 754 | }
|
741 | 755 | }
|
742 | 756 | }
|
| 757 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
743 | 758 | public StateDataDigging Digging
|
744 | 759 | {
|
745 | 760 | get
|
@@ -828,6 +843,7 @@ public uint Counter
|
828 | 843 | }
|
829 | 844 | }
|
830 | 845 | }
|
| 846 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
831 | 847 | public StateDataBuilding Building
|
832 | 848 | {
|
833 | 849 | get
|
@@ -869,6 +885,7 @@ public uint InventoryIndex
|
869 | 885 | }
|
870 | 886 | }
|
871 | 887 | }
|
| 888 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
872 | 889 | public StateDataBuildingCastle BuildingCastle
|
873 | 890 | {
|
874 | 891 | get
|
@@ -941,6 +958,7 @@ public State NextState
|
941 | 958 | }
|
942 | 959 | }
|
943 | 960 | }
|
| 961 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
944 | 962 | public StateDataMoveResourceOut MoveResourceOut
|
945 | 963 | {
|
946 | 964 | get
|
@@ -1015,6 +1033,7 @@ public uint InventoryIndex
|
1015 | 1033 | }
|
1016 | 1034 | }
|
1017 | 1035 | }
|
| 1036 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
1018 | 1037 | public StateDataReadyToLeaveInventory ReadyToLeaveInventory
|
1019 | 1038 | {
|
1020 | 1039 | get
|
@@ -1119,6 +1138,7 @@ public int Flags
|
1119 | 1138 | }
|
1120 | 1139 | }
|
1121 | 1140 | }
|
| 1141 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
1122 | 1142 | public StateDataFreeWalking FreeWalking
|
1123 | 1143 | {
|
1124 | 1144 | get
|
@@ -1174,6 +1194,7 @@ public int Mode
|
1174 | 1194 | }
|
1175 | 1195 | }
|
1176 | 1196 | }
|
| 1197 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
1177 | 1198 | public StateDataSawing Sawing
|
1178 | 1199 | {
|
1179 | 1200 | get
|
@@ -1215,6 +1236,7 @@ public int FieldB
|
1215 | 1236 | }
|
1216 | 1237 | }
|
1217 | 1238 | }
|
| 1239 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
1218 | 1240 | public StateDataLost Lost
|
1219 | 1241 | {
|
1220 | 1242 | get
|
@@ -1286,6 +1308,7 @@ public Map.Minerals Deposit
|
1286 | 1308 | }
|
1287 | 1309 | }
|
1288 | 1310 | }
|
| 1311 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
1289 | 1312 | public StateDataMining Mining
|
1290 | 1313 | {
|
1291 | 1314 | get
|
@@ -1358,6 +1381,7 @@ public int Type
|
1358 | 1381 | }
|
1359 | 1382 | }
|
1360 | 1383 | }
|
| 1384 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
1361 | 1385 | public StateDataSmelting Smelting
|
1362 | 1386 | {
|
1363 | 1387 | get
|
@@ -1401,6 +1425,7 @@ public int Mode
|
1401 | 1425 | }
|
1402 | 1426 | }
|
1403 | 1427 | }
|
| 1428 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
1404 | 1429 | public StateDataMilling Milling
|
1405 | 1430 | {
|
1406 | 1431 | get
|
@@ -1442,6 +1467,7 @@ public int Mode
|
1442 | 1467 | }
|
1443 | 1468 | }
|
1444 | 1469 | }
|
| 1470 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
1445 | 1471 | public StateDataBaking Baking
|
1446 | 1472 | {
|
1447 | 1473 | get
|
@@ -1483,6 +1509,7 @@ public int Mode
|
1483 | 1509 | }
|
1484 | 1510 | }
|
1485 | 1511 | }
|
| 1512 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
1486 | 1513 | public StateDataPigFarming PigFarming
|
1487 | 1514 | {
|
1488 | 1515 | get
|
@@ -1524,6 +1551,7 @@ public int Mode
|
1524 | 1551 | }
|
1525 | 1552 | }
|
1526 | 1553 | }
|
| 1554 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
1527 | 1555 | public StateDataButchering Butchering
|
1528 | 1556 | {
|
1529 | 1557 | get
|
@@ -1565,6 +1593,7 @@ public int Mode
|
1565 | 1593 | }
|
1566 | 1594 | }
|
1567 | 1595 | }
|
| 1596 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
1568 | 1597 | public StateDataMakingWeapon MakingWeapon
|
1569 | 1598 | {
|
1570 | 1599 | get
|
@@ -1606,6 +1635,7 @@ public int Mode
|
1606 | 1635 | }
|
1607 | 1636 | }
|
1608 | 1637 | }
|
| 1638 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
1609 | 1639 | public StateDataMakingTool MakingTool
|
1610 | 1640 | {
|
1611 | 1641 | get
|
@@ -1647,6 +1677,7 @@ public int Mode
|
1647 | 1677 | }
|
1648 | 1678 | }
|
1649 | 1679 | }
|
| 1680 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
1650 | 1681 | public StateDataBuildingBoat BuildingBoat
|
1651 | 1682 | {
|
1652 | 1683 | get
|
@@ -1738,6 +1769,7 @@ public int DefenderIndex
|
1738 | 1769 | }
|
1739 | 1770 | }
|
1740 | 1771 | }
|
| 1772 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
1741 | 1773 | public StateDataAttacking Attacking
|
1742 | 1774 | {
|
1743 | 1775 | get
|
@@ -1832,6 +1864,7 @@ public int DefenderIndex
|
1832 | 1864 | }
|
1833 | 1865 | }
|
1834 | 1866 | }
|
| 1867 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
1835 | 1868 | public StateDataAttackingVictoryFree AttackingVictoryFree
|
1836 | 1869 | {
|
1837 | 1870 | get
|
@@ -1934,6 +1967,7 @@ public int OtherDistanceRow
|
1934 | 1967 | }
|
1935 | 1968 | }
|
1936 | 1969 | }
|
| 1970 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
1937 | 1971 | public StateDataDefendingFree DefendingFree
|
1938 | 1972 | {
|
1939 | 1973 | get
|
@@ -2038,6 +2072,7 @@ public State NextState
|
2038 | 2072 | }
|
2039 | 2073 | }
|
2040 | 2074 | }
|
| 2075 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
2041 | 2076 | public StateDataLeaveForWalkToFight LeaveForWalkToFight
|
2042 | 2077 | {
|
2043 | 2078 | get
|
@@ -2111,6 +2146,7 @@ public Direction ReverseDirection
|
2111 | 2146 | }
|
2112 | 2147 | }
|
2113 | 2148 | }
|
| 2149 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
2114 | 2150 | public StateDataIdleOnPath IdleOnPath
|
2115 | 2151 | {
|
2116 | 2152 | get
|
@@ -2159,6 +2195,7 @@ public uint NextKnight
|
2159 | 2195 | }
|
2160 | 2196 | }
|
2161 | 2197 | }
|
| 2198 | + [DebuggerBrowsable(DebuggerBrowsableState.Never)] |
2162 | 2199 | public StateDataDefending Defending
|
2163 | 2200 | {
|
2164 | 2201 | get
|
|
0 commit comments