doSpecialZone: use annotations to control which special zone processing is done
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@836 d9718cc8-9f43-0410-858b-315f434eb58c
This commit is contained in:
parent
18f00153a3
commit
db6f3fb59c
2 changed files with 39 additions and 56 deletions
|
@ -717,7 +717,7 @@
|
||||||
695 seaport@32,0 (conducts)
|
695 seaport@32,0 (conducts)
|
||||||
696 seaport@48,0 (conducts)
|
696 seaport@48,0 (conducts)
|
||||||
697 seaport@0,16 (conducts)
|
697 seaport@0,16 (conducts)
|
||||||
698 seaport@16,16 (zone)(conducts)(building=4x4)(behavior=SPECIAL)(description=#13)
|
698 seaport@16,16 (zone)(conducts)(building=4x4)(behavior=SEAPORT)(description=#13)
|
||||||
699 seaport@32,16 (conducts)
|
699 seaport@32,16 (conducts)
|
||||||
700 seaport@48,16 (conducts)
|
700 seaport@48,16 (conducts)
|
||||||
701 seaport@0,32 (conducts)
|
701 seaport@0,32 (conducts)
|
||||||
|
@ -736,7 +736,7 @@
|
||||||
713 airport@64,0 (conducts)
|
713 airport@64,0 (conducts)
|
||||||
714 airport@80,0 (conducts)
|
714 airport@80,0 (conducts)
|
||||||
715 airport@0,16 (conducts)
|
715 airport@0,16 (conducts)
|
||||||
716 airport@16,16 (zone)(conducts)(building=6x6)(behavior=SPECIAL)(description=#14)
|
716 airport@16,16 (zone)(conducts)(building=6x6)(behavior=AIRPORT)(description=#14)
|
||||||
717 airport@32,16 (conducts)
|
717 airport@32,16 (conducts)
|
||||||
718 airport@48,16 (conducts)
|
718 airport@48,16 (conducts)
|
||||||
719 airport@64,16 (conducts)
|
719 airport@64,16 (conducts)
|
||||||
|
@ -771,7 +771,7 @@
|
||||||
747 coal@32,0 (conducts) (onpower=916)
|
747 coal@32,0 (conducts) (onpower=916)
|
||||||
748 coal@48,0 (conducts) (onpower=920)
|
748 coal@48,0 (conducts) (onpower=920)
|
||||||
749 coal@0,16 (conducts)
|
749 coal@0,16 (conducts)
|
||||||
750 coal@16,16 (zone)(conducts)(building=4x4)(behavior=SPECIAL)(description=#15)
|
750 coal@16,16 (zone)(conducts)(building=4x4)(behavior=COAL)(description=#15)
|
||||||
751 coal@32,16 (conducts) (onpower=924)
|
751 coal@32,16 (conducts) (onpower=924)
|
||||||
752 coal@48,16 (conducts) (onpower=928)
|
752 coal@48,16 (conducts) (onpower=928)
|
||||||
753 coal@0,32 (conducts)
|
753 coal@0,32 (conducts)
|
||||||
|
@ -787,7 +787,7 @@
|
||||||
762 firestation@16,0 (conducts)
|
762 firestation@16,0 (conducts)
|
||||||
763 firestation@32,0 (conducts)
|
763 firestation@32,0 (conducts)
|
||||||
764 firestation@0,16 (conducts)
|
764 firestation@0,16 (conducts)
|
||||||
765 firestation@16,16 (zone)(conducts)(building=3x3)(behavior=SPECIAL)(description=#16)
|
765 firestation@16,16 (zone)(conducts)(building=3x3)(behavior=FIRESTATION)(description=#16)
|
||||||
766 firestation@32,16 (conducts)
|
766 firestation@32,16 (conducts)
|
||||||
767 firestation@0,32 (conducts)
|
767 firestation@0,32 (conducts)
|
||||||
768 firestation@16,32 (conducts)
|
768 firestation@16,32 (conducts)
|
||||||
|
@ -797,7 +797,7 @@
|
||||||
771 police@16,0 (conducts)
|
771 police@16,0 (conducts)
|
||||||
772 police@32,0 (conducts)
|
772 police@32,0 (conducts)
|
||||||
773 police@0,16 (conducts)
|
773 police@0,16 (conducts)
|
||||||
774 police@16,16 (zone)(conducts)(building=3x3)(behavior=SPECIAL)(description=#17)
|
774 police@16,16 (zone)(conducts)(building=3x3)(behavior=POLICESTATION)(description=#17)
|
||||||
775 police@32,16 (conducts)
|
775 police@32,16 (conducts)
|
||||||
776 police@0,32 (conducts)
|
776 police@0,32 (conducts)
|
||||||
777 police@16,32 (conducts)
|
777 police@16,32 (conducts)
|
||||||
|
@ -808,7 +808,7 @@
|
||||||
781 stadium@32,0 (conducts)
|
781 stadium@32,0 (conducts)
|
||||||
782 stadium@48,0 (conducts)
|
782 stadium@48,0 (conducts)
|
||||||
783 stadium@0,16 (conducts)
|
783 stadium@0,16 (conducts)
|
||||||
784 stadium@16,16 (zone)(conducts)(building=4x4)(behavior=SPECIAL)(description=#18)
|
784 stadium@16,16 (zone)(conducts)(building=4x4)(behavior=STADIUM_EMPTY)(description=#18)
|
||||||
785 stadium@32,16 (conducts)
|
785 stadium@32,16 (conducts)
|
||||||
786 stadium@48,16 (conducts)
|
786 stadium@48,16 (conducts)
|
||||||
787 stadium@0,32 (conducts)
|
787 stadium@0,32 (conducts)
|
||||||
|
@ -825,7 +825,7 @@
|
||||||
797 stadium2@32,0 (conducts)
|
797 stadium2@32,0 (conducts)
|
||||||
798 stadium2@48,0 (conducts)
|
798 stadium2@48,0 (conducts)
|
||||||
799 stadium2@0,16 (conducts)
|
799 stadium2@0,16 (conducts)
|
||||||
800 stadium2@16,16 (zone)(conducts)(building=4x4)(behavior=SPECIAL)(description=#18)
|
800 stadium2@16,16 (zone)(conducts)(building=4x4)(behavior=STADIUM_FULL)(description=#18)
|
||||||
801 stadium2@32,16 (conducts)
|
801 stadium2@32,16 (conducts)
|
||||||
802 stadium2@48,16 (conducts)
|
802 stadium2@48,16 (conducts)
|
||||||
803 stadium2@0,32 (conducts)
|
803 stadium2@0,32 (conducts)
|
||||||
|
@ -842,7 +842,7 @@
|
||||||
813 nuclear@32,0 (conducts)
|
813 nuclear@32,0 (conducts)
|
||||||
814 nuclear@48,0 (conducts)
|
814 nuclear@48,0 (conducts)
|
||||||
815 nuclear@0,16 (conducts)
|
815 nuclear@0,16 (conducts)
|
||||||
816 nuclear@16,16 (zone)(conducts)(building=4x4)(behavior=SPECIAL)(description=#19)
|
816 nuclear@16,16 (zone)(conducts)(building=4x4)(behavior=NUCLEAR)(description=#19)
|
||||||
817 nuclear@32,16 (conducts)
|
817 nuclear@32,16 (conducts)
|
||||||
818 nuclear@48,16 (conducts)
|
818 nuclear@48,16 (conducts)
|
||||||
819 nuclear@0,32 (conducts)
|
819 nuclear@0,32 (conducts)
|
||||||
|
|
|
@ -45,7 +45,14 @@ class MapScanner
|
||||||
HOSPITAL_CHURCH,
|
HOSPITAL_CHURCH,
|
||||||
COMMERCIAL,
|
COMMERCIAL,
|
||||||
INDUSTRIAL,
|
INDUSTRIAL,
|
||||||
SPECIAL;
|
COAL,
|
||||||
|
NUCLEAR,
|
||||||
|
FIRESTATION,
|
||||||
|
POLICESTATION,
|
||||||
|
STADIUM_EMPTY,
|
||||||
|
STADIUM_FULL,
|
||||||
|
AIRPORT,
|
||||||
|
SEAPORT;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -92,8 +99,29 @@ class MapScanner
|
||||||
case INDUSTRIAL:
|
case INDUSTRIAL:
|
||||||
doIndustrial();
|
doIndustrial();
|
||||||
return;
|
return;
|
||||||
case SPECIAL:
|
case COAL:
|
||||||
doSpecialZone();
|
doCoalPower();
|
||||||
|
return;
|
||||||
|
case NUCLEAR:
|
||||||
|
doNuclearPower();
|
||||||
|
return;
|
||||||
|
case FIRESTATION:
|
||||||
|
doFireStation();
|
||||||
|
return;
|
||||||
|
case POLICESTATION:
|
||||||
|
doPoliceStation();
|
||||||
|
return;
|
||||||
|
case STADIUM_EMPTY:
|
||||||
|
doStadiumEmpty();
|
||||||
|
return;
|
||||||
|
case STADIUM_FULL:
|
||||||
|
doStadiumFull();
|
||||||
|
return;
|
||||||
|
case AIRPORT:
|
||||||
|
doAirport();
|
||||||
|
return;
|
||||||
|
case SEAPORT:
|
||||||
|
doSeaport();
|
||||||
return;
|
return;
|
||||||
default:
|
default:
|
||||||
throw new Error("Unknown behavior: "+behaviorStr);
|
throw new Error("Unknown behavior: "+behaviorStr);
|
||||||
|
@ -639,51 +667,6 @@ class MapScanner
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Called when the current tile is the key tile of a "special" zone.
|
|
||||||
*/
|
|
||||||
void doSpecialZone()
|
|
||||||
{
|
|
||||||
switch (cchr9)
|
|
||||||
{
|
|
||||||
case POWERPLANT:
|
|
||||||
doCoalPower();
|
|
||||||
return;
|
|
||||||
|
|
||||||
case NUCLEAR:
|
|
||||||
doNuclearPower();
|
|
||||||
return;
|
|
||||||
|
|
||||||
case FIRESTATION:
|
|
||||||
doFireStation();
|
|
||||||
return;
|
|
||||||
|
|
||||||
case POLICESTATION:
|
|
||||||
doPoliceStation();
|
|
||||||
return;
|
|
||||||
|
|
||||||
case STADIUM:
|
|
||||||
doStadiumEmpty();
|
|
||||||
return;
|
|
||||||
|
|
||||||
case FULLSTADIUM:
|
|
||||||
doStadiumFull();
|
|
||||||
return;
|
|
||||||
|
|
||||||
case AIRPORT:
|
|
||||||
doAirport();
|
|
||||||
return;
|
|
||||||
|
|
||||||
case PORT:
|
|
||||||
doSeaport();
|
|
||||||
return;
|
|
||||||
|
|
||||||
default:
|
|
||||||
// should not happen
|
|
||||||
assert false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Place hospital or church if needed.
|
* Place hospital or church if needed.
|
||||||
*/
|
*/
|
||||||
|
|
Reference in a new issue