├── README.en.md ├── README.md ├── MonoGame.Framework.Net ├── README.md ├── .gitignore ├── Net │ ├── ICommand.cs │ ├── CommandEventType.cs │ ├── GamerStates.cs │ ├── NetworkMessageType.cs │ ├── CommandReceiveData.cs │ ├── CommandGamerLeft.cs │ ├── CommandEvent.cs │ ├── CommandSessionStateChange.cs │ ├── CommandGamerStateChange.cs │ ├── CommandSendData.cs │ └── CommandGamerJoined.cs ├── GamerServices │ ├── LeaderboardKey.cs │ ├── GameUpdateRequiredException.cs │ ├── LeaderboardEntry.cs │ ├── LeaderboardWriter.cs │ ├── LeaderboardIdentity.cs │ ├── PropertyDictionary.cs │ └── LeaderboardReader.cs ├── Directory.Build.props ├── MonoGame.Framework.Net.shproj └── Platform │ └── MacOS │ └── GamerServices │ └── MonoGameLocalGamerProfile.cs ├── Lawn_Android ├── MonoGame.Framework.Net │ └── MACRO.cs ├── PvZActivity.cs ├── Libs │ ├── MonoMod.Utils.dll │ ├── MonoMod.RuntimeDetour.dll │ ├── Mono.Posix.NETStandard.dll │ └── WebSocketSharp.NetCore.dll ├── Resources │ ├── Drawable │ │ └── Icon.png │ ├── Values │ │ └── Strings.xml │ ├── Xml │ │ └── network_security_config.xml │ └── Resource.Designer.cs ├── Assets │ └── IronPython │ │ └── Libs │ │ └── IronPython.StdLib.2.7.11.zip └── Properties │ ├── AndroidManifest.xml │ └── AssemblyInfo.cs ├── Lawn_PCDX ├── MonoGame.Framework.Net │ └── MACRO.cs ├── Icon.ico ├── PlantsVsZombies.cs ├── app.manifest └── Lawn_PCDX.csproj ├── Lawn_PCGL ├── MonoGame.Framework.Net │ └── MACRO.cs ├── Icon.ico ├── Icon.png ├── PlantsVsZombies.cs ├── app.manifest └── Lawn_PCGL.csproj ├── Lawn_Shared ├── Microsoft.Xna.Framework.RuntimeProfile ├── Lawn │ ├── Strings.resources │ ├── Coin │ │ ├── CoinID.cs │ │ ├── CoinMotion.cs │ │ └── CoinType.cs │ ├── Plant │ │ ├── PlantID.cs │ │ ├── PlantSubClass.cs │ │ ├── PlantWeapon.cs │ │ ├── PlantRowType.cs │ │ ├── PlantOrder.cs │ │ ├── PlantOnBungeeState.cs │ │ ├── PlantLayer.cs │ │ ├── PlantsOnLawn.cs │ │ ├── TopPlant.cs │ │ ├── PlantingReason.cs │ │ ├── DrawVariation.cs │ │ ├── PlantDefinition.cs │ │ └── PlantState.cs │ ├── Zombie │ │ ├── ZombieID.cs │ │ ├── ShieldType.cs │ │ ├── HelmType.cs │ │ ├── ZombieHeight.cs │ │ ├── ZombieDrawPosition.cs │ │ ├── ZombieType.cs │ │ └── ZombieDefinition.cs │ ├── GridItem │ │ ├── GridItemID.cs │ │ ├── GridItemType.cs │ │ └── GridItemState.cs │ ├── System │ │ ├── ReanimationID.cs │ │ ├── NumImages.cs │ │ ├── ParticleSystemID.cs │ │ ├── TrialType.cs │ │ ├── GameType.cs │ │ ├── HitResult.cs │ │ ├── DebugTextMode.cs │ │ ├── DamageFlags.cs │ │ ├── DamageRangeFlags.cs │ │ ├── GameScenes.cs │ │ ├── LawnFPoint.cs │ │ ├── LevelStats.cs │ │ ├── ZombiePicker │ │ │ ├── ZombiePicker.cs │ │ │ ├── ZombieAllowedLevels.cs │ │ │ └── BungeeDropGrid.cs │ │ ├── TutorialState.cs │ │ ├── GlobalContentManager.cs │ │ ├── TypingCheck.cs │ │ └── AdviceType.cs │ ├── Widget │ │ ├── StoreListener.cs │ │ ├── Almanac │ │ │ ├── AlmanacListener.cs │ │ │ ├── AlmanacPage.cs │ │ │ └── DescriptionWidget.cs │ │ ├── InGameButtons.cs │ │ ├── Award │ │ │ ├── AwardScreens.cs │ │ │ └── AwardType.cs │ │ ├── Title │ │ │ ├── TitleScreens.cs │ │ │ └── TitleState.cs │ │ ├── LawnMessageBoxListener.cs │ │ ├── UpdateChoices.cs │ │ ├── User │ │ │ └── UserDialogs.cs │ │ ├── SeedChooser │ │ │ ├── SeedChooserState.cs │ │ │ ├── SeedPackets │ │ │ │ └── SeedPacketsWidgetListener.cs │ │ │ ├── ChosenSeed │ │ │ │ ├── ChosenSeedState.cs │ │ │ │ └── ChosenSeed.cs │ │ │ ├── NotRecommend.cs │ │ │ └── SeedChooserScreens.cs │ │ ├── Credit │ │ │ └── CreditButtonIds.cs │ │ ├── Basic │ │ │ ├── LawnDialogResult.cs │ │ │ ├── ButtonIds.cs │ │ │ ├── LawnEditWidget.cs │ │ │ └── LawnStoneButton.cs │ │ ├── Continue │ │ │ └── ContinueDialogs.cs │ │ ├── QuickPlay │ │ │ ├── QuickPlayWidgetListener.cs │ │ │ └── ZombieDescriptor.cs │ │ ├── RestoreLocation.cs │ │ ├── Challenge │ │ │ ├── UnlockingState.cs │ │ │ ├── ChallengePage.cs │ │ │ ├── ChallengeScreenValues.cs │ │ │ └── ChallengeDefinition.cs │ │ ├── GameSelector │ │ │ ├── MiniGames │ │ │ │ ├── MiniGamesWidgetListener.cs │ │ │ │ └── MiniGameMode.cs │ │ │ ├── SelectorSignState.cs │ │ │ └── GameSelectorButtons.cs │ │ ├── Store │ │ │ ├── StoreScreens.cs │ │ │ ├── StorePage.cs │ │ │ ├── StoreScreenOverlay.cs │ │ │ └── StoreItem.cs │ │ ├── Leaderboard │ │ │ ├── LeaderBoardType.cs │ │ │ ├── LeaderBoardButtonValues.cs │ │ │ ├── ZombiePileMarker.cs │ │ │ ├── ZombiePileObjectType.cs │ │ │ └── LeaderboardGradientWidget.cs │ │ ├── ZenGarden │ │ │ └── GardenType.cs │ │ ├── CrazyDaveState.cs │ │ ├── Achievement │ │ │ └── Achievement.cs │ │ ├── MessageStyle.cs │ │ ├── NewOptions │ │ │ └── NewOptionsDialogs.cs │ │ ├── ConfirmPurchaseDialog.cs │ │ └── LoadingScreen.cs │ ├── Challenge │ │ ├── ScaryPotType.cs │ │ ├── BeghouledUpgrade.cs │ │ ├── ChallengeState.cs │ │ └── BeghouledBoardState.cs │ ├── Rendering │ │ ├── FogLayers.cs │ │ ├── GroundLayers.cs │ │ ├── BossPart.cs │ │ ├── GraveStoneLayers.cs │ │ ├── RenderLayer.cs │ │ ├── MotionTrailFrame.cs │ │ └── RenderObjectType.cs │ ├── LawnMower │ │ ├── MowerHeight.cs │ │ ├── LawnMowerState.cs │ │ └── LawnMowerType.cs │ ├── PottedPlant │ │ ├── PottedPlantAge.cs │ │ └── PottedPlantNeed.cs │ ├── Board │ │ ├── GridSquareType.cs │ │ ├── BoardResult.cs │ │ ├── BackgroundType.cs │ │ └── SpecialGridPlacement.cs │ ├── SeedBank │ │ └── PacketUpgrade.cs │ ├── Music │ │ ├── MusicFile.cs │ │ └── MusicTune.cs │ ├── Projectile │ │ ├── ProjectileMotion.cs │ │ ├── ProjectileType.cs │ │ └── ProjectileDefinition.cs │ ├── CursorObject │ │ └── CursorType.cs │ ├── MagnetItem │ │ ├── MagnetItemType.cs │ │ └── MagnetItem.cs │ ├── GameObject │ │ └── GameObjectType.cs │ └── SeedPacket │ │ └── SeedType.cs ├── Sexy │ ├── Media │ │ ├── VideoType.cs │ │ ├── MovieControllMode.cs │ │ └── MOVIESCALINGMODE.cs │ ├── Widget │ │ ├── InterfaceParams.cs │ │ ├── Components │ │ │ ├── SliderListener.cs │ │ │ ├── CheckboxListener.cs │ │ │ ├── ScrollListener.cs │ │ │ ├── ProxyWidgetListener.cs │ │ │ ├── DialogListener.cs │ │ │ ├── ScrollWidgetListener.cs │ │ │ ├── ListListener.cs │ │ │ ├── EditListener.cs │ │ │ ├── ButtonListener.cs │ │ │ ├── ProxyWidget.cs │ │ │ ├── HyperlinkWidget.cs │ │ │ └── Dialogs.cs │ │ ├── WidgetSafeDeleteInfo.cs │ │ ├── InterfaceLayers.cs │ │ ├── InterfaceWidgets.cs │ │ ├── Leaderboard │ │ │ └── LeaderBoardHelper.cs │ │ ├── Insets.cs │ │ ├── WidgetOverlayPair.cs │ │ └── PageControl.cs │ ├── System │ │ ├── Layout │ │ │ └── FrameworkConstants.cs │ │ ├── ReusableObject │ │ │ ├── IReusable.cs │ │ │ └── ReusableObjectHelper.cs │ │ ├── PuzzleRating.cs │ │ ├── SexyAppBaseInterface.cs │ │ ├── SexyAppFrameworkConstants.cs │ │ ├── Utils │ │ │ └── Interpolator │ │ │ │ └── Interpolator.cs │ │ ├── Flags.cs │ │ ├── SexyProfiler.cs │ │ └── CGMaths.cs │ ├── Input │ │ ├── _Phase.cs │ │ ├── TypedKey.cs │ │ ├── _Touch.cs │ │ ├── InputController.cs │ │ ├── KeyInterpolator │ │ │ └── KeyInterpolator.cs │ │ └── MyTypedKeyCollection.cs │ ├── CSharpExtentions │ │ ├── LinkedListExtensions.cs │ │ ├── StringExtensions.cs │ │ └── CollectionExtensions.cs │ ├── Graphics │ │ ├── PixelFormat.cs │ │ └── MemoryImage.cs │ ├── Sound │ │ ├── SoundInstance.cs │ │ └── SoundManager.cs │ └── Extension │ │ └── FrameCounter.cs ├── Sexy.TodLib │ ├── Particle │ │ ├── ParticleID.cs │ │ ├── ParticleSystemID.cs │ │ ├── ParticleEmitterID.cs │ │ ├── EmitterType.cs │ │ ├── TodParticleDefinition.cs │ │ ├── ParticleSystemTracks.cs │ │ ├── ParticleFieldType.cs │ │ ├── ParticleFlags.cs │ │ ├── ParticleField.cs │ │ ├── ParticleParams.cs │ │ ├── ParticleTracks.cs │ │ └── ParticleRenderParams.cs │ ├── Trail │ │ ├── TrailFlags.cs │ │ ├── TrailType.cs │ │ ├── TrailPoint.cs │ │ ├── TrailTracks.cs │ │ ├── TrailParams.cs │ │ ├── TrailDefinition.cs │ │ ├── TrailHolder.cs │ │ └── TrailReader.cs │ ├── Reanim │ │ ├── Attachment │ │ │ ├── AttachmentID.cs │ │ │ ├── AttacherInfo.cs │ │ │ ├── AttachmentHolder.cs │ │ │ └── AttachEffect.cs │ │ ├── ReanimFlags.cs │ │ ├── ReanimatorFrameTime.cs │ │ ├── ReanimLoopType.cs │ │ ├── ReanimAtlasImage.cs │ │ ├── ReanimatorDefinition.cs │ │ ├── ReanimationParams.cs │ │ ├── ReanimationHolder.cs │ │ ├── ReanimatorTrack.cs │ │ └── ReanimAtlas.cs │ └── Common │ │ ├── TodStringFormatFlag.cs │ │ ├── EffectType.cs │ │ ├── FloatParameterTrack.cs │ │ ├── DrawStringJustification.cs │ │ ├── DefFieldType.cs │ │ ├── FloatParameterTrackNode.cs │ │ ├── TodCurves.cs │ │ ├── DrawCall.cs │ │ ├── TodSmoothArray.cs │ │ ├── TodWeightedArray.cs │ │ ├── TodWeightedGridArray.cs │ │ ├── TodLibConstants.cs │ │ ├── TodStringListFormat.cs │ │ └── CustomContentReader.cs ├── DataArrayFlags.cs ├── GlobalMembersSexyMath.cs ├── Microsoft.Xna.Framework.XlastConfiguration ├── PerfTimer.cs ├── GlobalMembersDialogButton.cs ├── UNPACK_INFO.cs ├── Lawn_Shared.shproj └── RandomNumbers.cs ├── IronPyInteractiveClient_WPF ├── App.xaml.cs ├── App.xaml ├── IronPyInteractiveClient_WPF.csproj └── AssemblyInfo.cs ├── IronPyInteractiveDef_Shared ├── IronPyInteractiveDef_Shared.projitems ├── WSEvents.cs └── IronPyInteractiveDef_Shared.shproj ├── LawnModExtension ├── LawnModExtension.projitems └── LawnModExtension.shproj └── LICENSE /README.en.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/README.md: -------------------------------------------------------------------------------- 1 | # MonoGame.Framework.Net -------------------------------------------------------------------------------- /Lawn_Android/MonoGame.Framework.Net/MACRO.cs: -------------------------------------------------------------------------------- 1 | #define ANDROID -------------------------------------------------------------------------------- /Lawn_PCDX/MonoGame.Framework.Net/MACRO.cs: -------------------------------------------------------------------------------- 1 | #define WINDOWS 2 | #define DIRECTX -------------------------------------------------------------------------------- /Lawn_PCGL/MonoGame.Framework.Net/MACRO.cs: -------------------------------------------------------------------------------- 1 | #define WINDOWS 2 | #define DIRECTX -------------------------------------------------------------------------------- /Lawn_Shared/Microsoft.Xna.Framework.RuntimeProfile: -------------------------------------------------------------------------------- 1 | Windows Phone.v4.0.Reach 2 | -------------------------------------------------------------------------------- /Lawn_PCDX/Icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rspforhp/PVZdotnet-ready-to-mod/HEAD/Lawn_PCDX/Icon.ico -------------------------------------------------------------------------------- /Lawn_PCGL/Icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rspforhp/PVZdotnet-ready-to-mod/HEAD/Lawn_PCGL/Icon.ico -------------------------------------------------------------------------------- /Lawn_PCGL/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rspforhp/PVZdotnet-ready-to-mod/HEAD/Lawn_PCGL/Icon.png -------------------------------------------------------------------------------- /MonoGame.Framework.Net/.gitignore: -------------------------------------------------------------------------------- 1 | [Oo]bj 2 | [Bb]in 3 | 4 | *~ 5 | *.swo 6 | *.swp 7 | 8 | .vs/ 9 | 10 | -------------------------------------------------------------------------------- /Lawn_Android/PvZActivity.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rspforhp/PVZdotnet-ready-to-mod/HEAD/Lawn_Android/PvZActivity.cs -------------------------------------------------------------------------------- /Lawn_Android/Libs/MonoMod.Utils.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rspforhp/PVZdotnet-ready-to-mod/HEAD/Lawn_Android/Libs/MonoMod.Utils.dll -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Strings.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rspforhp/PVZdotnet-ready-to-mod/HEAD/Lawn_Shared/Lawn/Strings.resources -------------------------------------------------------------------------------- /Lawn_Android/Resources/Drawable/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rspforhp/PVZdotnet-ready-to-mod/HEAD/Lawn_Android/Resources/Drawable/Icon.png -------------------------------------------------------------------------------- /Lawn_Android/Libs/MonoMod.RuntimeDetour.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rspforhp/PVZdotnet-ready-to-mod/HEAD/Lawn_Android/Libs/MonoMod.RuntimeDetour.dll -------------------------------------------------------------------------------- /Lawn_Android/Libs/Mono.Posix.NETStandard.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rspforhp/PVZdotnet-ready-to-mod/HEAD/Lawn_Android/Libs/Mono.Posix.NETStandard.dll -------------------------------------------------------------------------------- /Lawn_Android/Libs/WebSocketSharp.NetCore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rspforhp/PVZdotnet-ready-to-mod/HEAD/Lawn_Android/Libs/WebSocketSharp.NetCore.dll -------------------------------------------------------------------------------- /Lawn_Android/Resources/Values/Strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 植物大战僵尸 4 | 5 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Coin/CoinID.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum CoinID 6 | { 7 | Null 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Plant/PlantID.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum PlantID 6 | { 7 | Null 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Zombie/ZombieID.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum ZombieID 6 | { 7 | Null 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/GridItem/GridItemID.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum GridItemID 6 | { 7 | Null 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/ReanimationID.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum ReanimationID 6 | { 7 | Null 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/NumImages.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum NumImages 6 | { 7 | NUM_IMAGES = 249 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/ParticleSystemID.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum ParticleSystemID 6 | { 7 | Null 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Media/VideoType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public/*internal*/ enum VideoType 6 | { 7 | Credits 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Particle/ParticleID.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum ParticleID 6 | { 7 | Null 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Trail/TrailFlags.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum TrailFlags 6 | { 7 | Loops = 1 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/TrialType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum TrialType 6 | { 7 | None, 8 | Stagelocked 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Lawn_Android/Assets/IronPython/Libs/IronPython.StdLib.2.7.11.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rspforhp/PVZdotnet-ready-to-mod/HEAD/Lawn_Android/Assets/IronPython/Libs/IronPython.StdLib.2.7.11.zip -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/StoreListener.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public interface StoreListener 6 | { 7 | void BackFromStore(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Particle/ParticleSystemID.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum ParticleSystemID 6 | { 7 | Null 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Reanim/Attachment/AttachmentID.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum AttachmentID 6 | { 7 | Null 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Particle/ParticleEmitterID.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum ParticleEmitterID 6 | { 7 | Null 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Almanac/AlmanacListener.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public interface AlmanacListener 6 | { 7 | void BackFromAlmanac(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Plant/PlantSubClass.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum PlantSubClass //Prefix: SUBCLASS 6 | { 7 | Normal, 8 | Shooter 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Plant/PlantWeapon.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum PlantWeapon //Prefix: WEAPON 6 | { 7 | Primary, 8 | Secondary 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/InterfaceParams.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public enum InterfaceParams 6 | { 7 | OUT, 8 | IN, 9 | OFF = -1 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Almanac/AlmanacPage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum AlmanacPage 6 | { 7 | Index, 8 | Plants, 9 | Zombies 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/InGameButtons.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum InGameButtons //Prefix: GAME 6 | { 7 | MenuButton, 8 | StoreButton 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Award/AwardScreens.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum AwardScreens 6 | { 7 | AwardScreenStart = 100, 8 | AwardScreenMenu 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Title/TitleScreens.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum TitleScreens 6 | { 7 | TitleScreen_Start, 8 | TitleScreen_Register 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Trail/TrailType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum TrailType 6 | { 7 | None = -1, 8 | Ice, 9 | NumTrails 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/System/Layout/FrameworkConstants.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | internal class FrameworkConstants 6 | { 7 | public static float Font_Scale = 1f; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/LawnMessageBoxListener.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public interface LawnMessageBoxListener 6 | { 7 | void LawnMessageBoxDone(int theResult); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/UpdateChoices.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum UpdateChoices 6 | { 7 | Null, 8 | Yes, 9 | No, 10 | Later 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/User/UserDialogs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum UserDialogs 6 | { 7 | UserDialog_RenameUser, 8 | UserDialog_DeleteUser 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Zombie/ShieldType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum ShieldType 6 | { 7 | None, 8 | Door, 9 | Newspaper, 10 | Ladder 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Media/MovieControllMode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public enum MovieControllMode 6 | { 7 | Default, 8 | Volumeonly, 9 | Hidden 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/Components/SliderListener.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public interface SliderListener 6 | { 7 | void SliderVal(int theId, double theVal); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Challenge/ScaryPotType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum ScaryPotType 6 | { 7 | None, 8 | Seed, 9 | Zombie, 10 | Sun 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Rendering/FogLayers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum FogLayers 6 | { 7 | Fog, 8 | PlanternShine, 9 | Coin, 10 | Rain 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/SeedChooser/SeedChooserState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum SeedChooserState //Prefix: CHOOSE 6 | { 7 | Normal, 8 | ViewLawn 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Trail/TrailPoint.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public/*internal*/ class TrailPoint 6 | { 7 | public SexyVector2 aPos = default(SexyVector2); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/LawnMower/MowerHeight.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum MowerHeight 6 | { 7 | Land, 8 | DownToPool, 9 | InPool, 10 | UpToLand 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Rendering/GroundLayers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum GroundLayers 6 | { 7 | PoolSparkle, 8 | Crater, 9 | Ice, 10 | Shadow 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/GameType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum GameType 6 | { 7 | Action, 8 | Strategy, 9 | Puzzle, 10 | GameTypeCount 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Credit/CreditButtonIds.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | internal enum CreditButtonIds 6 | { 7 | Credits_Button_Replay, 8 | Credits_Button_MainMenu 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/System/ReusableObject/IReusable.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public interface IReusable 6 | { 7 | void Reset(); 8 | 9 | void PrepareForReuse(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/Components/CheckboxListener.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public interface CheckboxListener 6 | { 7 | void CheckboxChecked(int theId, bool isChecked); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/Components/ScrollListener.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public interface ScrollListener 6 | { 7 | void ScrollPosition(int theId, double thePosition); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Basic/LawnDialogResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum LawnDialogResult //Prefix: ID 6 | { 7 | TryAgainMenu = 1, 8 | InAppNotificationNo 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Continue/ContinueDialogs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum ContinueDialogs 6 | { 7 | ContinueDialog_Continue, 8 | ContinueDialog_NewGame 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/QuickPlay/QuickPlayWidgetListener.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public interface QuickPlayWidgetListener 6 | { 7 | void QuickPlayStageSelected(int theLevel); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/RestoreLocation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum RestoreLocation //Prefix: RESTORE 6 | { 7 | Mainmenu, 8 | Board, 9 | Titlescreen 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Reanim/ReanimFlags.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum ReanimFlags //Prefix: PARAMREANIMFLAG 6 | { 7 | NoAtlas, 8 | FastDrawInSwMode 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Media/MOVIESCALINGMODE.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public enum MovieScalingMode 6 | { 7 | None, 8 | Aspectfit, 9 | Aspectfill, 10 | Fill 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/Net/ICommand.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.Xna.Framework.Net 4 | { 5 | internal interface ICommand 6 | { 7 | 8 | CommandEventType Command { get; } 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/LawnMower/LawnMowerState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum LawnMowerState 6 | { 7 | RollingIn, 8 | Ready, 9 | Triggered, 10 | Squished 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Plant/PlantRowType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public/*internal*/ enum PlantRowType 6 | { 7 | Dirt, 8 | Normal, 9 | Pool, 10 | HighGround 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/HitResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public/*internal*/ struct HitResult 6 | { 7 | public object mObject; 8 | 9 | public GameObjectType mObjectType; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Challenge/UnlockingState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum UnlockingState //Prefix: UNLOCKING 6 | { 7 | Off, 8 | Shaking, 9 | Fading 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Rendering/BossPart.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum BossPart 6 | { 7 | BackLeg, 8 | FrontLeg, 9 | Main, 10 | BackArm, 11 | Fireball 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/WidgetSafeDeleteInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | internal class WidgetSafeDeleteInfo 6 | { 7 | public int mUpdateAppDepth; 8 | 9 | public Widget mWidget; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Plant/PlantOrder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum PlantOrder 6 | { 7 | Lilypad, 8 | Normal, 9 | Pumpkin, 10 | Flyer, 11 | Cherrybomb 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/PottedPlant/PottedPlantAge.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum PottedPlantAge //Prefix: PLANTAGE 6 | { 7 | Sprout, 8 | Small, 9 | Medium, 10 | Full 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Basic/ButtonIds.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum ButtonIds //Prefix: ALMANAC_BUTTON 6 | { 7 | Close, 8 | Plant, 9 | Zombie, 10 | Index 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/GameSelector/MiniGames/MiniGamesWidgetListener.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public interface MiniGamesWidgetListener 6 | { 7 | void MiniGamesStageSelected(int theLevel); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Store/StoreScreens.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum StoreScreens 6 | { 7 | StoreScreen_Back = 100, 8 | StoreScreen_Prev, 9 | StoreScreen_Next 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Title/TitleState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum TitleState 6 | { 7 | WaitingForFirstDraw, 8 | PopcapLogo, 9 | PartnerLogo, 10 | Screen 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/DebugTextMode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum DebugTextMode 6 | { 7 | None, 8 | ZombieSpawn, 9 | Music, 10 | Memory, 11 | Collision 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Leaderboard/LeaderBoardType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum LeaderBoardType //Prefix: LEADERBOARD_TYPE 6 | { 7 | Izombie, 8 | Vasebreaker, 9 | Killed 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/ZenGarden/GardenType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum GardenType //Prefix: GARDEN 6 | { 7 | Main, 8 | Mushroom, 9 | Wheelbarrow, 10 | Aquarium 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Common/TodStringFormatFlag.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum TodStringFormatFlag //Prefix: TOD_FORMAT 6 | { 7 | IgnoreNewlines, 8 | HideUntilMagnetshroom 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Board/GridSquareType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public/*internal*/ enum GridSquareType 6 | { 7 | None, 8 | Grass, 9 | Dirt, 10 | Pool, 11 | HighGround 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Challenge/BeghouledUpgrade.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum BeghouledUpgrade 6 | { 7 | Repeater, 8 | Fumeshroom, 9 | Tallnut, 10 | BeghouledUpgradeCount 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/LawnMower/LawnMowerType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum LawnMowerType 6 | { 7 | Lawn, 8 | Pool, 9 | Roof, 10 | SuperMower, 11 | MowerTypesCount 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/SeedBank/PacketUpgrade.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | internal enum PacketUpgrade 6 | { 7 | Num6Max, 8 | Num7Max, 9 | Num8Max, 10 | Num9Max, 11 | Num10Max 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/GameSelector/MiniGames/MiniGameMode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum MiniGameMode //Prefix: MINI_GAME_MODE 6 | { 7 | Games, 8 | IZombie, 9 | Vasebreaker 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/SeedChooser/SeedPackets/SeedPacketsWidgetListener.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public interface SeedPacketsWidgetListener 6 | { 7 | void SeedSelected(SeedType UnnamedParameter1); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Common/EffectType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum EffectType 6 | { 7 | Particle, 8 | Trail, 9 | Reanim, 10 | Attachment, 11 | Other 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/Components/ProxyWidgetListener.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public/*internal*/ interface ProxyWidgetListener 6 | { 7 | void DrawProxyWidget(Graphics g, ProxyWidget proxyWidget); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Plant/PlantOnBungeeState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum PlantOnBungeeState //Prefix: PLANT 6 | { 7 | NotOnBungee, 8 | GettingGrabbedByBungee, 9 | RisingWithBungee 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/PottedPlant/PottedPlantNeed.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum PottedPlantNeed 6 | { 7 | None, 8 | Water, 9 | Fertilizer, 10 | Bugspray, 11 | Phonograph 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/GameSelector/SelectorSignState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum SelectorSignState //Prefix: SIGN 6 | { 7 | Down, 8 | Up, 9 | MovingUp, 10 | MovingDown 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Input/_Phase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public enum _Phase 6 | { 7 | TouchBegan, 8 | TouchMoved, 9 | TouchStationary, 10 | TouchEnded, 11 | TouchCancelled 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Challenge/ChallengePage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum ChallengePage 6 | { 7 | Survival, 8 | Challenge, 9 | Limbo, 10 | Puzzle, 11 | MaxChallengePages 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Particle/EmitterType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum EmitterType 6 | { 7 | Circle, 8 | Box, 9 | BoxPath, 10 | CirclePath, 11 | CircleEvenSpacing 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Board/BoardResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum BoardResult 6 | { 7 | None, 8 | Won, 9 | Lost, 10 | Restart, 11 | Quit, 12 | QuitApp, 13 | Cheat 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Common/FloatParameterTrack.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public/*internal*/ class FloatParameterTrack 6 | { 7 | public FloatParameterTrackNode[] mNodes; 8 | 9 | public int mCountNodes; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Store/StorePage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum StorePage //Prefix: STORE_PAGE 6 | { 7 | SlotUpgrades, 8 | PlantUpgrades, 9 | Zen1, 10 | Zen2, 11 | NumStorePages 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Award/AwardType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum AwardType 6 | { 7 | ForLevel, 8 | CreditsZombieNote, 9 | HelpZombieNote, 10 | AchievementOnly, 11 | PreCreditsZombieNote 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Android/Resources/Xml/network_security_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | android.bugly.qq.com 5 | 6 | 7 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Music/MusicFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum MusicFile 6 | { 7 | None = -1, 8 | MainMusic = 1, 9 | Drums, 10 | Hihats, 11 | CreditsZombiesOnYourLawn, 12 | NumMusicFiles 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Challenge/ChallengeScreenValues.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum ChallengeScreenValues 6 | { 7 | ChallengeScreen_Back = 100, 8 | ChallengeScreen_Mode = 200, 9 | ChallengeScreen_Page = 300 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Trail/TrailTracks.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum TrailTracks 6 | { 7 | WidthOverLength, 8 | WidthOverTime, 9 | AlphaOverLength, 10 | AlphaOverTime, 11 | NumTrailTracks 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Coin/CoinMotion.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum CoinMotion 6 | { 7 | FromSky, 8 | FromSkySlow, 9 | FromPlant, 10 | Coin, 11 | LawnmowerCoin, 12 | FromPresent, 13 | FromBoss 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Plant/PlantLayer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum PlantLayer 6 | { 7 | Below = -1, 8 | Main, 9 | Reanim, 10 | ReanimHead, 11 | ReanimBlink, 12 | OnTop, 13 | PlantLayerCount 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/DamageFlags.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum DamageFlags 6 | { 7 | BypassesShield, 8 | HitsShieldAndBody, 9 | Freeze, 10 | DoesntCauseFlash, 11 | DoesntLeaveBody, 12 | Spike 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Reanim/ReanimatorFrameTime.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public struct ReanimatorFrameTime 6 | { 7 | public float mFraction; 8 | 9 | public short mAnimFrameBeforeInt; 10 | 11 | public short mAnimFrameAfterInt; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/Components/DialogListener.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public interface DialogListener 6 | { 7 | void DialogButtonPress(int theDialogId, int theButtonId); 8 | 9 | void DialogButtonDepress(int theDialogId, int theButtonId); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/DataArrayFlags.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | public enum DataArrayFlags : uint 4 | { 5 | DATA_ARRAY_INDEX_MASK = 65535U, 6 | DATA_ARRAY_KEY_MASK = 4294901760U, 7 | DATA_ARRAY_KEY_SHIFT = 16U, 8 | DATA_ARRAY_MAX_SIZE = 65536U, 9 | DATA_ARRAY_KEY_FIRST = 1U, 10 | DATAID_NULL = 0U 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/System/PuzzleRating.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | internal class PuzzleRating 6 | { 7 | public ushort mPuzzleNum; 8 | 9 | public byte mRating; 10 | 11 | public ushort mSecondsSpent; 12 | 13 | public ushort mHintsUsed; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/GamerServices/LeaderboardKey.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.Xna.Framework.GamerServices 4 | { 5 | public enum LeaderboardKey 6 | { 7 | BestScoreLifeTime, 8 | BestScoreRecent, 9 | BestTimeLifeTime, 10 | BestTimeRecent, 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/CrazyDaveState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum CrazyDaveState //Prefix: CRAZY_DAVE 6 | { 7 | Off, 8 | Entering, 9 | Leaving, 10 | Idling, 11 | Talking, 12 | HandingTalking, 13 | HandingIdling 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/Components/ScrollWidgetListener.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public/*internal*/ interface ScrollWidgetListener 6 | { 7 | void ScrollTargetReached(ScrollWidget scrollWidget); 8 | 9 | void ScrollTargetInterrupted(ScrollWidget scrollWidget); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Plant/PlantsOnLawn.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public/*internal*/ struct PlantsOnLawn 6 | { 7 | public Plant mUnderPlant; 8 | 9 | public Plant mPumpkinPlant; 10 | 11 | public Plant mFlyingPlant; 12 | 13 | public Plant mNormalPlant; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Leaderboard/LeaderBoardButtonValues.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum LeaderBoardButtonValues //Prefix: LEADERBOARD_BUTTON 6 | { 7 | Back, 8 | Pile, 9 | LeavePile, 10 | VaseBreaker, 11 | Izombie, 12 | Killed 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/SeedChooser/ChosenSeed/ChosenSeedState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum ChosenSeedState 6 | { 7 | SEED_FLYING_TO_BANK, 8 | SEED_IN_BANK, 9 | SEED_FLYING_TO_CHOOSER, 10 | SEED_IN_CHOOSER, 11 | SEED_PACKET_HIDDEN 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/InterfaceLayers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public enum InterfaceLayers //Prefix: UI_LAYER 6 | { 7 | Loading, 8 | Background = 10, 9 | Board = 20, 10 | BoardEffects = 30, 11 | Menu = 40, 12 | ActionSheet = 100 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/DamageRangeFlags.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum DamageRangeFlags 6 | { 7 | Ground, 8 | Flying, 9 | Submerged, 10 | Dog, 11 | OffGround, 12 | Dying, 13 | Underground, 14 | OnlyMindcontrolled 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Input/TypedKey.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public struct TypedKey where T : struct 6 | { 7 | public int tick; 8 | 9 | public bool ease; 10 | 11 | public bool tween; 12 | 13 | public int KeyIdentifier; 14 | 15 | public T value; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/GameScenes.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum GameScenes 6 | { 7 | Loading, 8 | Menu, 9 | LevelIntro, 10 | Playing, 11 | ZombiesWon, 12 | Award, 13 | Credit, 14 | Challenge, 15 | Leaderboard 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Reanim/ReanimLoopType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum ReanimLoopType 6 | { 7 | Loop, 8 | LoopFullLastFrame, 9 | PlayOnce, 10 | PlayOnceAndHold, 11 | PlayOnceFullLastFrame, 12 | PlayOnceFullLastFrameAndHold 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Input/_Touch.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public struct _Touch 6 | { 7 | public CGPoint location; 8 | 9 | public CGPoint previousLocation; 10 | 11 | public int tapCount; 12 | 13 | public double timestamp; 14 | 15 | public _Phase phase; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/Net/CommandEventType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.Xna.Framework.Net 4 | { 5 | public enum CommandEventType 6 | { 7 | GamerJoined, 8 | GamerLeft, 9 | SessionStateChange, 10 | SendData, 11 | ReceiveData, 12 | GamerStateChange, 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/LawnFPoint.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public/*internal*/ class LawnFPoint 6 | { 7 | public LawnFPoint(float theX, float theY) 8 | { 9 | x = theX; 10 | y = theY; 11 | } 12 | 13 | public float x; 14 | 15 | public float y; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Common/DrawStringJustification.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum DrawStringJustification //Prefix: DS_ALIGN 6 | { 7 | Left, 8 | Right, 9 | Center, 10 | LeftVerticalMiddle, 11 | RightVerticalMiddle, 12 | CenterVerticalMiddle 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Reanim/Attachment/AttacherInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public/*internal*/ class AttacherInfo 6 | { 7 | public string mReanimName; 8 | 9 | public string mTrackName; 10 | 11 | public float mAnimRate; 12 | 13 | public ReanimLoopType mLoopType; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/Components/ListListener.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | internal interface ListListener 6 | { 7 | void ListClicked(int theId, int theIdx, int theClickCount); 8 | 9 | void ListClosed(int theId); 10 | 11 | void ListHiliteChanged(int theId, int theOldIdx, int theNewIdx); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Projectile/ProjectileMotion.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum ProjectileMotion 6 | { 7 | Straight, 8 | Lobbed, 9 | Threepeater, 10 | Bee, 11 | BeeBackwards, 12 | Puff, 13 | Backwards, 14 | Star, 15 | FloatOver, 16 | Homing 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Rendering/GraveStoneLayers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum GraveStoneLayers 6 | { 7 | Brain, 8 | Squirrel, 9 | Door2, 10 | Stones, 11 | Door1, 12 | Daisies, 13 | BossFireball, 14 | Bungee, 15 | SquishedPlant, 16 | Rake 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/SeedChooser/NotRecommend.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | internal enum NotRecommend //Prefix: NOT_RECOMMENTED 6 | { 7 | Nocturnal, 8 | NeedsPool, 9 | NeedsGraves, 10 | NeedsFog, 11 | NeedsRoof, 12 | OnRoof, 13 | ForChallenge, 14 | AtNight 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Zombie/HelmType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum HelmType //Prefix: HELMTYPE 6 | { 7 | None, 8 | TrafficCone, 9 | Pail, 10 | Football, 11 | Digger, 12 | Redeyes, 13 | Headband, 14 | Bobsled, 15 | Wallnut, 16 | Tallnut 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Common/DefFieldType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum DefFieldType //Prefix: DT 6 | { 7 | Invalid, 8 | Int, 9 | Float, 10 | String, 11 | Enum, 12 | Vector2, 13 | Array, 14 | TrackFloat, 15 | Flags, 16 | Image, 17 | Font 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/LevelStats.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public/*internal*/ class LevelStats 6 | { 7 | public LevelStats() 8 | { 9 | Reset(); 10 | } 11 | 12 | public void Reset() 13 | { 14 | mUnusedLawnMowers = 0; 15 | } 16 | 17 | public int mUnusedLawnMowers; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Board/BackgroundType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public/*internal*/ enum BackgroundType 6 | { 7 | Num1Day, 8 | Num2Night, 9 | Num3Pool, 10 | Num4Fog, 11 | Num5Roof, 12 | Num6Boss, 13 | MushroomGarden, 14 | Greenhouse, 15 | Zombiquarium, 16 | TreeOfWisdom 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Lawn_Shared/GlobalMembersSexyMath.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | public static class GlobalMembersSexyMath 4 | { 5 | public const float SEXYMATH_PI = 3.1415927f; 6 | 7 | public const float SEXYMATH_2PI = 6.2831855f; 8 | 9 | public const float SEXYMATH_E = 2.71828f; 10 | 11 | public const float SEXYMATH_EPSILON = 0.001f; 12 | 13 | public const float SEXYMATH_EPSILONSQ = 1E-06f; 14 | } 15 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/CSharpExtentions/LinkedListExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Sexy 5 | { 6 | internal static class LinkedListExtensions 7 | { 8 | public static void Insert(this LinkedList list, LinkedListNode position, T newNode) where T : class 9 | { 10 | list.AddAfter(position, newNode); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Leaderboard/ZombiePileMarker.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Xna.Framework.GamerServices; 3 | 4 | namespace Lawn 5 | { 6 | public/*internal*/ class ZombiePileMarker 7 | { 8 | public ZombiePileMarker() 9 | { 10 | mHeight = 0; 11 | mGamer = null; 12 | } 13 | 14 | public Gamer mGamer; 15 | 16 | public int mHeight; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/GamerServices/GameUpdateRequiredException.cs: -------------------------------------------------------------------------------- 1 | // MonoGame - Copyright (C) The MonoGame Team 2 | // This file is subject to the terms and conditions defined in 3 | // file 'LICENSE.txt', which is part of this source code package. 4 | 5 | using System; 6 | 7 | namespace Microsoft.Xna.Framework.GamerServices 8 | { 9 | public class GameUpdateRequiredException : Exception 10 | { 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/GridItem/GridItemType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum GridItemType 6 | { 7 | None, 8 | Gravestone, 9 | Crater, 10 | Ladder, 11 | PortalCircle, 12 | PortalSquare, 13 | Brain, 14 | ScaryPot, 15 | Squirrel, 16 | ZenTool, 17 | Stinky, 18 | Rake, 19 | IzombieBrain 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Zombie/ZombieHeight.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum ZombieHeight 6 | { 7 | ZombieNormal, 8 | InToPool, 9 | OutOfPool, 10 | DraggedUnder, 11 | UpToHighGround, 12 | DownOffHighGround, 13 | UpLadder, 14 | Falling, 15 | InToChimney, 16 | GettingBungeeDropped, 17 | Zombiquarium 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Lawn_PCDX/PlantsVsZombies.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Xna.Framework; 3 | using Sexy; 4 | 5 | namespace LAWN 6 | { 7 | class PlantsVsZombies 8 | { 9 | static void Main() 10 | { 11 | Game game = new Main(); 12 | game.Window.Title = String.Format 13 | ("PlantsVsZombies.Net v{0}", Lawn.LawnApp.AppVersionNumber); 14 | game.Run(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Lawn_PCGL/PlantsVsZombies.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Xna.Framework; 3 | using Sexy; 4 | 5 | namespace LAWN 6 | { 7 | class PlantsVsZombies 8 | { 9 | static void Main() 10 | { 11 | Game game = new Main(); 12 | game.Window.Title = String.Format 13 | ("PlantsVsZombies.Net v{0}", Lawn.LawnApp.AppVersionNumber); 14 | game.Run(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Plant/TopPlant.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public/*internal*/ enum TopPlant //PlantPriority //Prefix: TOPPLANT 6 | { 7 | EatingOrder, 8 | DiggingOrder, 9 | BungeeOrder, 10 | CatapultOrder, 11 | ZenToolOrder, 12 | Any, 13 | OnlyNormalPosition, 14 | OnlyFlying, 15 | OnlyPumpkin, 16 | OnlyUnderPlant 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/SeedChooser/SeedChooserScreens.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum SeedChooserScreens 6 | { 7 | SeedChooserScreen_Start = 100, 8 | SeedChooserScreen_Random, 9 | SeedChooserScreen_ViewLawn, 10 | SeedChooserScreen_Almanac, 11 | SeedChooserScreen_Menu, 12 | SeedChooserScreen_Store, 13 | SeedChooserScreen_Imitater 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Zombie/ZombieDrawPosition.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public struct ZombieDrawPosition 6 | { 7 | public int mHeadX; 8 | 9 | public int mHeadY; 10 | 11 | public int mArmY; 12 | 13 | public float mBodyY; 14 | 15 | public float mImageOffsetX; 16 | 17 | public float mImageOffsetY; 18 | 19 | public float mClipHeight; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/ZombiePicker/ZombiePicker.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public/*internal*/ class ZombiePicker 6 | { 7 | public int mZombieCount; 8 | 9 | public int mZombiePoints; 10 | 11 | public int[] mZombieTypeCount = new int[(int)ZombieType.ZombieTypesCount]; 12 | 13 | public int[] mAllWavesZombieTypeCount = new int[(int)ZombieType.ZombieTypesCount]; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/Net/GamerStates.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.Xna.Framework.Net 4 | { 5 | [Flags] 6 | public enum GamerStates 7 | { 8 | Local = 0x000001, 9 | Host = 0x000010, 10 | HasVoice = 0x000100, 11 | Guest = 0x001000, 12 | MutedByLocalUser = 0x010000, 13 | PrivateSlot = 0x100000, 14 | Ready = 0x1000000, 15 | 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Particle/TodParticleDefinition.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public/*internal*/ class TodParticleDefinition 6 | { 7 | public TodParticleDefinition() 8 | { 9 | mEmitterDefs = null; 10 | mEmitterDefCount = 0; 11 | } 12 | 13 | public TodEmitterDefinition[] mEmitterDefs; 14 | 15 | public int mEmitterDefCount; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /IronPyInteractiveClient_WPF/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace IronPyInteractiveClient_WPF 10 | { 11 | /// 12 | /// Interaction logic for App.xaml 13 | /// 14 | public partial class App : Application 15 | { 16 | 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/QuickPlay/ZombieDescriptor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public struct ZombieDescriptor 6 | { 7 | public ZombieDescriptor(ZombieType theType, int aX, int aY) 8 | { 9 | type = theType; 10 | x = aX; 11 | y = aY; 12 | } 13 | 14 | public ZombieType type; 15 | 16 | public int x; 17 | 18 | public int y; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Common/FloatParameterTrackNode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public/*internal*/ class FloatParameterTrackNode 6 | { 7 | public float mTime; 8 | 9 | public float mLowValue; 10 | 11 | public float mHighValue; 12 | 13 | public TodCurves mCurveType; 14 | 15 | public TodCurves mDistribution; 16 | 17 | public static int SIZE = 20; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IronPyInteractiveClient_WPF/App.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Trail/TrailParams.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public/*internal*/ class TrailParams 6 | { 7 | public TrailParams(TrailType aTrailType, string aTrailFileName) 8 | { 9 | mTrailType = aTrailType; 10 | mTrailFileName = aTrailFileName; 11 | } 12 | 13 | public TrailType mTrailType; 14 | 15 | public string mTrailFileName; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Particle/ParticleSystemTracks.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum ParticleSystemTracks 6 | { 7 | SpawnRate, 8 | SpawnMinActive, 9 | SpawnMaxActive, 10 | SpawnMaxLaunched, 11 | EmitterPath, 12 | SystemRed, 13 | SystemGreen, 14 | SystemBlue, 15 | SystemAlpha, 16 | SystemBrightness, 17 | NumSystemTracks 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/InterfaceWidgets.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public enum InterfaceWidgets //Prefix: UI_WIDGET 6 | { 7 | Load, 8 | Demo, 9 | Back, 10 | Menu, 11 | Bord, 12 | Fxov, 13 | Info, 14 | Scor, 15 | Lead, 16 | Name, 17 | Over, 18 | Blov, 19 | Help, 20 | More, 21 | Conn, 22 | Count 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Particle/ParticleFieldType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum ParticleFieldType 6 | { 7 | Invalid, 8 | Friction, 9 | Acceleration, 10 | Attractor, 11 | MaxVelocity, 12 | Velocity, 13 | Position, 14 | SystemPosition, 15 | GroundConstraint, 16 | Shake, 17 | Circle, 18 | Away, 19 | FieldCount 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/ZombiePicker/ZombieAllowedLevels.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public/*internal*/ class ZombieAllowedLevels 6 | { 7 | public ZombieAllowedLevels(ZombieType aZombieType, int[] levels) 8 | { 9 | mZombieType = aZombieType; 10 | mAllowedOnLevel = levels; 11 | } 12 | 13 | public ZombieType mZombieType; 14 | 15 | public int[] mAllowedOnLevel = new int[50]; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Particle/ParticleFlags.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum ParticleFlags 6 | { 7 | RandomLaunchSpin, 8 | AlignLaunchSpin, 9 | AlignToPixels, 10 | SystemLoops, 11 | ParticleLoops, 12 | ParticlesDontFollow, 13 | RandomStartTime, 14 | DieIfOverloaded, 15 | Additive, 16 | Fullscreen, 17 | SoftwareOnly, 18 | HardwareOnly 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Plant/PlantingReason.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public/*internal*/ enum PlantingReason 6 | { 7 | Ok, 8 | NotHere, 9 | OnlyOnGraves, 10 | OnlyInPool, 11 | OnlyOnGround, 12 | NeedsPot, 13 | NotOnArt, 14 | NotPassedLine, 15 | NeedsUpgrade, 16 | NotOnGrave, 17 | NotOnCrater, 18 | NotOnWater, 19 | NeedsGround, 20 | NeedsSleeping 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Achievement/Achievement.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public/*internal*/ class Achievement 6 | { 7 | public Achievement(int aImageId, string aName, string aDesc) 8 | { 9 | mImageId = aImageId; 10 | mName = aName; 11 | mDesc = aDesc; 12 | } 13 | 14 | public int mImageId; 15 | 16 | public readonly string mName; 17 | 18 | public readonly string mDesc; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Particle/ParticleField.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public/*internal*/ class ParticleField 6 | { 7 | public ParticleField() 8 | { 9 | mFieldType = ParticleFieldType.Invalid; 10 | } 11 | 12 | public ParticleFieldType mFieldType; 13 | 14 | public FloatParameterTrack mX = new FloatParameterTrack(); 15 | 16 | public FloatParameterTrack mY = new FloatParameterTrack(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Particle/ParticleParams.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public/*internal*/ class ParticleParams 6 | { 7 | public ParticleParams(ParticleEffect aParticleEffect, string aParticleName) 8 | { 9 | mParticleEffect = aParticleEffect; 10 | mParticleFileName = aParticleName; 11 | } 12 | 13 | public ParticleEffect mParticleEffect; 14 | 15 | public string mParticleFileName; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Lawn_Shared/Microsoft.Xna.Framework.XlastConfiguration: -------------------------------------------------------------------------------- 1 | Home Lawn SecurityMaster of MosticultureBetter Off Dead 2 | China ShopBeyond the GraveCrash of the TitanSoil Your Plants Explodonator Close Shave 3 | Shopaholic Nom Nom NomNo Fungus Among UsDont Pea in the PoolGrounded Good Morning Popcorn PartyRoll Some HeadsDisco is Undead 4 | 5 |  -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Common/TodCurves.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum TodCurves //Prefix: CURVE 6 | { 7 | Constant, 8 | Linear, 9 | EaseIn, 10 | EaseOut, 11 | EaseInOut, 12 | EaseInOutWeak, 13 | FastInOut, 14 | FastInOutWeak, 15 | WeakFastInOut, 16 | Bounce, 17 | BounceFastMiddle, 18 | BounceSlowMiddle, 19 | SinWave, 20 | EaseSinWave 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Projectile/ProjectileType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum ProjectileType 6 | { 7 | Pea, 8 | Snowpea, 9 | Cabbage, 10 | Melon, 11 | Puff, 12 | Wintermelon, 13 | Fireball, 14 | Star, 15 | Spike, 16 | Basketball, 17 | Kernel, 18 | Cobbig, 19 | Butter, 20 | ZombiePea, 21 | ZombiePeaMindControl, 22 | ProjectilesCount 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/Components/EditListener.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public interface EditListener 6 | { 7 | void EditWidgetText(int theId, string theString); 8 | 9 | bool AllowChar(int theId, char theChar); 10 | 11 | public virtual bool AllowKey(int theId, KeyCode theKey) 12 | { 13 | return true; 14 | } 15 | 16 | bool AllowText(int theId, ref string theText); 17 | 18 | bool ShouldClear(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/Net/NetworkMessageType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.Xna.Framework.Net 4 | { 5 | // These are for internal use specifying the Data Packet Contents 6 | internal enum NetworkMessageType : byte 7 | { 8 | Data = 0, 9 | GamerJoined = 1, 10 | GamerLeft = 2, 11 | Introduction = 3, 12 | GamerProfile = 4, 13 | RequestGamerProfile = 5, 14 | GamerStateChange = 6, 15 | SessionStateChange = 7, 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Leaderboard/ZombiePileObjectType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum ZombiePileObjectType //Prefix: OBJECT 6 | { 7 | Balloon, 8 | YellowCloud, 9 | Airplane, 10 | Moon, 11 | Satellite, 12 | PeggleUrsamajor, 13 | Astronaut, 14 | Blackhole, 15 | Arrow, 16 | Gem0, 17 | Gem1, 18 | Gem2, 19 | Gem3, 20 | Gem4, 21 | Gem5, 22 | Gem6 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/Components/ButtonListener.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public interface ButtonListener 6 | { 7 | void ButtonPress(int theId); 8 | 9 | void ButtonPress(int theId, int theClickCount); 10 | 11 | void ButtonDepress(int theId); 12 | 13 | void ButtonDownTick(int theId); 14 | 15 | void ButtonMouseEnter(int theId); 16 | 17 | void ButtonMouseLeave(int theId); 18 | 19 | void ButtonMouseMove(int theId, int theX, int theY); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Music/MusicTune.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum MusicTune 6 | { 7 | None = -1, 8 | DayGrasswalk = 1, 9 | NightMoongrains, 10 | PoolWaterygraves, 11 | FogRigormormist, 12 | RoofGrazetheroof, 13 | ChooseYourSeeds, 14 | TitleCrazyDaveMainTheme, 15 | PuzzleCerebrawl, 16 | MinigameLoonboon, 17 | Conveyer, 18 | FinalBossBrainiacManiac, 19 | ZenGarden, 20 | MusicTuneCount 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Projectile/ProjectileDefinition.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public/*internal*/ class ProjectileDefinition 6 | { 7 | public ProjectileDefinition(ProjectileType theType, int theRow, int theDamage) 8 | { 9 | mProjectileType = theType; 10 | mImageRow = theRow; 11 | mDamage = theDamage; 12 | } 13 | 14 | public ProjectileType mProjectileType; 15 | 16 | public int mImageRow; 17 | 18 | public int mDamage; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Store/StoreScreenOverlay.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Sexy; 3 | 4 | namespace Lawn 5 | { 6 | internal class StoreScreenOverlay : Widget 7 | { 8 | public StoreScreenOverlay(StoreScreen theParent) 9 | { 10 | mParent = theParent; 11 | mMouseVisible = false; 12 | mHasAlpha = true; 13 | } 14 | 15 | public override void Draw(Graphics g) 16 | { 17 | mParent.DrawOverlay(g); 18 | } 19 | 20 | public new StoreScreen mParent; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Board/SpecialGridPlacement.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public/*internal*/ class SpecialGridPlacement 6 | { 7 | public SpecialGridPlacement(int aPixelX, int aPixelY, int aGridX, int aGridY) 8 | { 9 | mPixelX = aPixelX; 10 | mPixelY = aPixelY; 11 | mGridX = aGridX; 12 | mGridY = aGridY; 13 | } 14 | 15 | public int mPixelX; 16 | 17 | public int mPixelY; 18 | 19 | public int mGridX; 20 | 21 | public int mGridY; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Challenge/ChallengeState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum ChallengeState 6 | { 7 | Normal, 8 | BeghouledMoving, 9 | BeghouledFalling, 10 | BeghouledNoMatches, 11 | SlotMachineRolling, 12 | StormFlash1, 13 | StormFlash2, 14 | StormFlash3, 15 | ZenFading, 16 | ScaryPotterMalleting, 17 | LastStandOnslaught, 18 | TreeJustGrew, 19 | TreeGiveWisdom, 20 | TreeWaitingToBabble, 21 | TreeBabbling 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/Components/ProxyWidget.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public/*internal*/ class ProxyWidget : Widget 6 | { 7 | public ProxyWidget(ProxyWidgetListener listener) 8 | { 9 | mListener = listener; 10 | } 11 | 12 | public override void Draw(Graphics g) 13 | { 14 | if (mListener != null) 15 | { 16 | mListener.DrawProxyWidget(g, this); 17 | } 18 | } 19 | 20 | private ProxyWidgetListener mListener; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Reanim/ReanimAtlasImage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public/*internal*/ class ReanimAtlasImage 6 | { 7 | public ReanimAtlasImage() 8 | { 9 | mX = 0; 10 | mY = 0; 11 | mWidth = 0; 12 | mHeight = 0; 13 | mOriginalImage = null; 14 | } 15 | 16 | public int mX; 17 | 18 | public int mY; 19 | 20 | public int mWidth; 21 | 22 | public int mHeight; 23 | 24 | public Image mOriginalImage; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/CursorObject/CursorType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum CursorType 6 | { 7 | Normal, 8 | PlantFromBank, 9 | PlantFromUsableCoin, 10 | PlantFromGlove, 11 | PlantFromDuplicator, 12 | PlantFromWheelBarrow, 13 | Shovel, 14 | Hammer, 15 | CobcannonTarget, 16 | WateringCan, 17 | Fertilizer, 18 | BugSpray, 19 | Phonograph, 20 | Chocolate, 21 | Glove, 22 | MoneySign, 23 | Wheeelbarrow, 24 | TreeFood 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/GamerServices/LeaderboardEntry.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.Serialization; 3 | 4 | namespace Microsoft.Xna.Framework.GamerServices 5 | { 6 | [DataContract] 7 | public sealed class LeaderboardEntry 8 | { 9 | 10 | [DataMember] 11 | public long Rating { get; set; } 12 | 13 | [DataMember] 14 | public PropertyDictionary Columns { get; internal set; } 15 | 16 | [DataMember] 17 | public Gamer Gamer { get; internal set; } 18 | 19 | public LeaderboardEntry () 20 | { 21 | } 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /IronPyInteractiveClient_WPF/IronPyInteractiveClient_WPF.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | WinExe 5 | netcoreapp3.1 6 | true 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Graphics/PixelFormat.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public enum PixelFormat 6 | { 7 | kPixelFormat_None = -1, 8 | kPixelFormat_Automatic, 9 | kPixelFormat_RGBA8888, 10 | kPixelFormat_RGBA4444, 11 | kPixelFormat_RGBA5551, 12 | kPixelFormat_RGB565, 13 | kPixelFormat_RGB888, 14 | kPixelFormat_L8, 15 | kPixelFormat_A8, 16 | kPixelFormat_LA88, 17 | kPixelFormat_RGB_PVRTC2, 18 | kPixelFormat_RGB_PVRTC4, 19 | kPixelFormat_RGBA_PVRTC2, 20 | kPixelFormat_RGBA_PVRTC4 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/MagnetItem/MagnetItemType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum MagnetItemType 6 | { 7 | None, 8 | Pail1, 9 | Pail2, 10 | Pail3, 11 | FootballHelmet1, 12 | FootballHelmet2, 13 | FootballHelmet3, 14 | Door1, 15 | Door2, 16 | Door3, 17 | Pogo1, 18 | Pogo2, 19 | Pogo3, 20 | JackInTheBox, 21 | Ladder1, 22 | Ladder2, 23 | Ladder3, 24 | LadderPlaced, 25 | SilverCoin, 26 | GoldCoin, 27 | Diamond, 28 | PickAxe 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/ZombiePicker/BungeeDropGrid.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Sexy; 3 | using Sexy.TodLib; 4 | 5 | namespace Lawn 6 | { 7 | public/*internal*/ class BungeeDropGrid 8 | { 9 | public BungeeDropGrid() 10 | { 11 | for (int i = 0; i < mGridArray.Length; i++) 12 | { 13 | mGridArray[i] = TodWeightedGridArray.GetNewTodWeightedGridArray(); 14 | } 15 | } 16 | 17 | public TodWeightedGridArray[] mGridArray = new TodWeightedGridArray[Constants.GRIDSIZEX * Constants.MAX_GRIDSIZEY]; 18 | 19 | public int mGridArrayCount; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/MessageStyle.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum MessageStyle 6 | { 7 | Off, 8 | TutorialLevel1, 9 | TutorialLevel1Stay, 10 | TutorialLevel2, 11 | TutorialLater, 12 | TutorialLaterStay, 13 | HintLong, 14 | HintFast, 15 | HintStay, 16 | HintTallFast, 17 | HintTallUnlockmessage, 18 | HintTallLong, 19 | BigMiddle, 20 | BigMiddleFast, 21 | HouseName, 22 | HugeWave, 23 | SlotMachine, 24 | ZenGardenLong, 25 | Achievement 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/NewOptions/NewOptionsDialogs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum NewOptionsDialogs 6 | { 7 | NewOptionsDialog_Almanac, 8 | NewOptionsDialog_MainMenu, 9 | NewOptionsDialog_Restart, 10 | NewOptionsDialog_Update, 11 | NewOptionsDialog_MusicVolume, 12 | NewOptionsDialog_SoundVolume, 13 | NewOptionDialog_Help, 14 | NewOptionsDialog_About, 15 | NewOptionsDialog_Vibrate, 16 | NewOptionsDialog_HardwareAcceleration, 17 | NewOptionsDialog_Credits, 18 | NewOptionsDialog_RunWhileLocked 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Plant/DrawVariation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum DrawVariation 6 | { 7 | Normal, 8 | Imitater, 9 | MarigoldWhite, 10 | MarigoldMagenta, 11 | MarigoldOrange, 12 | MarigoldPink, 13 | MarigoldLightBlue, 14 | MarigoldRed, 15 | MarigoldBlue, 16 | MarigoldViolet, 17 | MarigoldLavender, 18 | MarigoldYellow, 19 | MarigoldLightGreen, 20 | ZenGarden, 21 | ZenGardenWater, 22 | SproutNoFlower, 23 | ImitaterLess, 24 | Aquarium, 25 | Bigidle 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Rendering/RenderLayer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum RenderLayer 6 | { 7 | UiBottom = 100000, 8 | Ground = 200000, 9 | Lawn = 300000, 10 | Top = 400000, 11 | Fog = 500000, 12 | CoinBank = 600000, 13 | UiTop = 700000, 14 | AboveUI = 800000, 15 | ScreenFade = 900000, 16 | RowOffset = 10000, 17 | GraveStone = 301000, 18 | Plant = 302000, 19 | Zombie = 303000, 20 | Boss = 304000, 21 | Projectile = 305000, 22 | LawnMower = 306000, 23 | Particle = 307000 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/GameObject/GameObjectType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum GameObjectType 6 | { 7 | None, 8 | Plant, 9 | Projectile, 10 | Coin, 11 | Seedpacket, 12 | Shovel, 13 | WateringCan, 14 | Fertilizer, 15 | BugSpray, 16 | Phonograph, 17 | Chocolate, 18 | Glove, 19 | MoneySign, 20 | Wheelbarrow, 21 | TreeFood, 22 | NextGarden, 23 | MenuButton, 24 | StoreButton, 25 | SlotMachineHandle, 26 | ScaryPot, 27 | Stinky, 28 | TreeOfWisdom 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /IronPyInteractiveClient_WPF/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | [assembly: ThemeInfo( 4 | ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located 5 | //(used if a resource is not found in the page, 6 | // or application resource dictionaries) 7 | ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located 8 | //(used if a resource is not found in the page, 9 | // app, or any theme specific resource dictionaries) 10 | )] 11 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Particle/ParticleTracks.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public enum ParticleTracks 6 | { 7 | ParticleRed, 8 | ParticleGreen, 9 | ParticleBlue, 10 | ParticleAlpha, 11 | ParticleBrightness, 12 | ParticleSpinSpeed, 13 | ParticleSpinAngle, 14 | ParticleScale, 15 | ParticleStretch, 16 | ParticleCollisionReflect, 17 | ParticleCollisionSpin, 18 | ParticleClipTop, 19 | ParticleClipBottom, 20 | ParticleClipLeft, 21 | ParticleClipRight, 22 | ParticleAnimationRate, 23 | NumParticleTracks 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Rendering/MotionTrailFrame.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Sexy; 3 | 4 | namespace Lawn 5 | { 6 | public/*internal*/ class MotionTrailFrame 7 | { 8 | public void SaveToFile(Sexy.Buffer b) 9 | { 10 | b.WriteFloat(mPosX); 11 | b.WriteFloat(mPosY); 12 | b.WriteFloat(mAnimTime); 13 | } 14 | 15 | public void LoadFromFile(Sexy.Buffer b) 16 | { 17 | mPosX = b.ReadFloat(); 18 | mPosY = b.ReadFloat(); 19 | mAnimTime = b.ReadFloat(); 20 | } 21 | 22 | public float mPosX; 23 | 24 | public float mPosY; 25 | 26 | public float mAnimTime; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/System/SexyAppBaseInterface.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Xna.Framework; 3 | 4 | namespace Sexy 5 | { 6 | public interface SexyAppBaseInterface 7 | { 8 | void Init(); 9 | 10 | bool UpdateApp(); 11 | 12 | void UpdateFrames(); 13 | 14 | void DrawGame(GameTime gameTime); 15 | 16 | void StartLoadingThread(); 17 | 18 | void LoadingThreadCompleted(); 19 | 20 | void LoadingThreadProcStub(); 21 | 22 | void InitHook(); 23 | 24 | void DeviceOrientationChanged(UI_ORIENTATION toOrientation); 25 | 26 | void AccelerometerDidAccelerate(double timestamp, double ax, double ay, double az); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/Leaderboard/LeaderBoardHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | internal static class LeaderBoardHelper 6 | { 7 | public static int GetLeaderboardNumber(LeaderboardGameMode mode) 8 | { 9 | return (int)mode; 10 | } 11 | 12 | public static int GetLeaderboardNumber(LeaderboardState state) 13 | { 14 | return (int)state; 15 | } 16 | 17 | public static bool IsModeSupported(LeaderboardGameMode mode) 18 | { 19 | return mode == LeaderboardGameMode.Adventure || mode == LeaderboardGameMode.IZombie || mode == LeaderboardGameMode.Vasebreaker; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/Net/CommandReceiveData.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.Xna.Framework.Net 4 | { 5 | internal class CommandReceiveData : ICommand 6 | { 7 | internal byte[] data; 8 | internal long remoteUniqueIdentifier = -1; 9 | internal NetworkGamer gamer; 10 | 11 | public CommandReceiveData (long remoteUniqueIdentifier, byte[] data) 12 | { 13 | this.remoteUniqueIdentifier = remoteUniqueIdentifier; 14 | this.data = data; 15 | 16 | } 17 | 18 | public CommandEventType Command { 19 | get { return CommandEventType.ReceiveData; } 20 | } 21 | } 22 | } 23 | 24 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/GamerServices/LeaderboardWriter.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.Xna.Framework.GamerServices 4 | { 5 | public sealed class LeaderboardWriter : IDisposable 6 | { 7 | public LeaderboardWriter () 8 | { 9 | } 10 | 11 | 12 | public LeaderboardEntry GetLeaderboard(LeaderboardIdentity aLeaderboardIdentity) 13 | { 14 | throw new NotImplementedException (); 15 | } 16 | 17 | 18 | #region IDisposable implementation 19 | 20 | void IDisposable.Dispose () 21 | { 22 | throw new NotImplementedException (); 23 | } 24 | 25 | #endregion 26 | } 27 | } 28 | 29 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Coin/CoinType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum CoinType 6 | { 7 | None, 8 | Silver, 9 | Gold, 10 | Diamond, 11 | Sun, 12 | Smallsun, 13 | Largesun, 14 | FinalSeedPacket, 15 | Trophy, 16 | Shovel, 17 | Almanac, 18 | Carkeys, 19 | WateringCan, 20 | Taco, 21 | Note, 22 | UsableSeedPacket, 23 | PresentPlant, 24 | AwardMoneyBag, 25 | AwardPresent, 26 | AwardBagDiamond, 27 | Chocolate, 28 | AwardChocolate, 29 | PresentMinigames, 30 | PresentPuzzleMode, 31 | Bacon 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Common/DrawCall.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Xna.Framework; 3 | 4 | namespace Sexy.TodLib 5 | { 6 | internal struct DrawCall 7 | { 8 | public void SetTransform(ReanimatorTransform transform) 9 | { 10 | mPosition = new Vector2(transform.mTransX, transform.mTransY); 11 | mRotation = 0.0; 12 | mScale = new Vector2(transform.mScaleX, transform.mScaleY); 13 | } 14 | 15 | public TRect mClipRect; 16 | 17 | public SexyColor mColor; 18 | 19 | public TRect mSrcRect; 20 | 21 | public Vector2 mPosition; 22 | 23 | public double mRotation; 24 | 25 | public Vector2 mScale; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Rendering/RenderObjectType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum RenderObjectType 6 | { 7 | Coin = 1, 8 | Projectile, 9 | Zombie, 10 | ZombieShadow, 11 | ZombieBungeeTarget, 12 | Plant, 13 | PlantOverlay, 14 | PlantMagnetItems, 15 | CursorPreview, 16 | Particle, 17 | Reanimation, 18 | Ice, 19 | TopUi, 20 | Fog, 21 | Storm, 22 | BottomUi, 23 | Backdrop, 24 | DoorMask, 25 | CoinBank, 26 | ProjectileShadow, 27 | Mower, 28 | ScreenFade, 29 | BossPart, 30 | GridItem, 31 | GridItemOverlay 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Reanim/ReanimatorDefinition.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public/*internal*/ class ReanimatorDefinition 6 | { 7 | public ReanimatorDefinition() 8 | { 9 | mFPS = 12f; 10 | mTrackCount = 0; 11 | mReanimAtlas = null; 12 | } 13 | 14 | public void ExtractImages() 15 | { 16 | for (int i = 0; i < mTracks.Length; i++) 17 | { 18 | mTracks[i].ExtractImages(); 19 | } 20 | } 21 | 22 | public ReanimatorTrack[] mTracks; 23 | 24 | public short mTrackCount; 25 | 26 | public float mFPS; 27 | 28 | public ReanimAtlas mReanimAtlas; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /IronPyInteractiveDef_Shared/IronPyInteractiveDef_Shared.projitems: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | true 6 | b98f5710-197f-420e-82eb-5a7750239ceb 7 | 8 | 9 | IronPyInteractiveDef_Shared 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/Insets.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public struct Insets 6 | { 7 | public Insets(int theLeft, int theTop, int theRight, int theBottom) 8 | { 9 | mLeft = theLeft; 10 | mTop = theTop; 11 | mRight = theRight; 12 | mBottom = theBottom; 13 | } 14 | 15 | public Insets(Insets theInsets) 16 | { 17 | mLeft = theInsets.mLeft; 18 | mTop = theInsets.mTop; 19 | mRight = theInsets.mRight; 20 | mBottom = theInsets.mBottom; 21 | } 22 | 23 | public int mLeft; 24 | 25 | public int mTop; 26 | 27 | public int mRight; 28 | 29 | public int mBottom; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Input/InputController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Xna.Framework; 3 | using Microsoft.Xna.Framework.Input.Touch; 4 | 5 | namespace Sexy 6 | { 7 | internal class InputController 8 | { 9 | public static void TestTouchCaps() 10 | { 11 | TouchPanelCapabilities capabilities = TouchPanel.GetCapabilities(); 12 | if (capabilities.IsConnected) 13 | { 14 | int maximumTouchCount = capabilities.MaximumTouchCount; 15 | Debug.OutputDebug($"maxPoints:{maximumTouchCount}"); 16 | } 17 | } 18 | 19 | public static void HandleTouchInput() 20 | { 21 | } 22 | 23 | public static Vector2 touchPos = Vector2.Zero; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Lawn_Android/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/SeedChooser/ChosenSeed/ChosenSeed.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public/*internal*/ class ChosenSeed 6 | { 7 | public int mX; 8 | 9 | public int mY; 10 | 11 | public int mTimeStartMotion; 12 | 13 | public int mTimeEndMotion; 14 | 15 | public int mStartX; 16 | 17 | public int mStartY; 18 | 19 | public int mEndX; 20 | 21 | public int mEndY; 22 | 23 | public SeedType mSeedType; 24 | 25 | public ChosenSeedState mSeedState; 26 | 27 | public int mSeedIndexInBank; 28 | 29 | public bool mRefreshing; 30 | 31 | public int mRefreshCounter; 32 | 33 | public SeedType mImitaterType; 34 | 35 | public bool mCrazyDavePicked; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/GamerServices/LeaderboardIdentity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.Serialization; 3 | 4 | namespace Microsoft.Xna.Framework.GamerServices 5 | { 6 | [DataContract] 7 | public struct LeaderboardIdentity 8 | { 9 | [DataMember] 10 | public int GameMode { get; set; } 11 | 12 | [DataMember] 13 | public LeaderboardKey Key { get; set; } 14 | 15 | public static LeaderboardIdentity Create(LeaderboardKey aKey) 16 | { 17 | return new LeaderboardIdentity() { Key = aKey}; 18 | } 19 | 20 | public static LeaderboardIdentity Create(LeaderboardKey aKey, int aGameMode) 21 | { 22 | return new LeaderboardIdentity() { Key = aKey, GameMode = aGameMode}; 23 | } 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /LawnModExtension/LawnModExtension.projitems: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | true 6 | c1dd562e-4506-4d33-92f3-6ae5cfefe16e 7 | 8 | 9 | LawnModExtension 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Reanim/ReanimationParams.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public/*internal*/ class ReanimationParams 6 | { 7 | public ReanimationParams(ReanimationType aReanimationType, string aReanimFilename) : this(aReanimationType, aReanimFilename, 0) 8 | { 9 | } 10 | 11 | public ReanimationParams(ReanimationType aReanimationType, string aReanimFilename, int aReanimparamFlags) 12 | { 13 | mReanimationType = aReanimationType; 14 | mReanimFileName = aReanimFilename; 15 | mReanimParamFlags = aReanimparamFlags; 16 | } 17 | 18 | public ReanimationType mReanimationType; 19 | 20 | public string mReanimFileName; 21 | 22 | public int mReanimParamFlags; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Leaderboard/LeaderboardGradientWidget.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Sexy; 3 | 4 | namespace Lawn 5 | { 6 | internal class LeaderboardGradientWidget : Widget 7 | { 8 | public LeaderboardGradientWidget() 9 | { 10 | mDisabled = true; 11 | } 12 | 13 | public override void Draw(Graphics g) 14 | { 15 | base.Draw(g); 16 | g.DrawImage(AtlasResources.IMAGE_PILE_LEADERBOARDSCREEN_GRADIENT, 0, 0); 17 | g.DrawImageRotated(AtlasResources.IMAGE_PILE_LEADERBOARDSCREEN_GRADIENT, 0, mHeight - AtlasResources.IMAGE_PILE_LEADERBOARDSCREEN_GRADIENT.mHeight, 3.141592653589793, AtlasResources.IMAGE_PILE_LEADERBOARDSCREEN_GRADIENT.mWidth / 2, AtlasResources.IMAGE_PILE_LEADERBOARDSCREEN_GRADIENT.mHeight / 2); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Lawn_Shared/PerfTimer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | public struct PerfTimer 4 | { 5 | private void CalcDuration() 6 | { 7 | mEnd = Environment.TickCount; 8 | mDuration = mEnd - mStart; 9 | } 10 | 11 | public void Start() 12 | { 13 | mRunning = true; 14 | mStart = Environment.TickCount; 15 | } 16 | 17 | public void Stop() 18 | { 19 | if (mRunning) 20 | { 21 | CalcDuration(); 22 | mRunning = false; 23 | } 24 | } 25 | 26 | public double GetDuration() 27 | { 28 | if (mRunning) 29 | { 30 | CalcDuration(); 31 | } 32 | return mDuration; 33 | } 34 | 35 | private bool mRunning; 36 | 37 | private int mStart; 38 | 39 | private int mEnd; 40 | 41 | private int mDuration; 42 | } 43 | -------------------------------------------------------------------------------- /Lawn_Shared/GlobalMembersDialogButton.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | public static class GlobalMembersDialogButton 4 | { 5 | internal static int[,] gDialogButtonColors = new int[,] 6 | { 7 | { 8 | 255, 9 | 255, 10 | 255 11 | }, 12 | { 13 | 255, 14 | 255, 15 | 255 16 | }, 17 | { 18 | 0, 19 | 0, 20 | 0 21 | }, 22 | { 23 | 255, 24 | 255, 25 | 255 26 | }, 27 | { 28 | 132, 29 | 132, 30 | 132 31 | }, 32 | { 33 | 212, 34 | 212, 35 | 212 36 | }, 37 | { 38 | 255, 39 | 255, 40 | 255 41 | } 42 | }; 43 | } 44 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/Directory.Build.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | https://pbs.twimg.com/profile_images/487954549441691649/O3KsHAsb_400x400.png 4 | http://monogame.net 5 | https://github.com/MonoGame/MonoGame.Framework.Net 6 | MonoGame Team 7 | MS-PL 8 | 9 | 10 | obj\$(MonoGamePlatform) 11 | bin\$(MonoGamePlatform) 12 | MonoGame.Framework.Net 13 | Microsoft.Xna.Framework.Net 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/GameSelector/GameSelectorButtons.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum GameSelectorButtons //Prefix: 6 | { 7 | Adventure = 100, 8 | Quickplay, 9 | QuickplayDay, 10 | QuickplayNight, 11 | QuickplayPool, 12 | QuickplayFog, 13 | QuickplayRoof, 14 | QuickplayBonus, 15 | QuickplayBack, 16 | Options, 17 | Help, 18 | Quit, 19 | Store, 20 | UnlockGame, 21 | Almanac, 22 | MoreGames, 23 | MoreGamesBack, 24 | Achievements, 25 | AchievementsBack, 26 | UpdateAvailable, 27 | Leaderboards, 28 | MiniGames, 29 | Vasebreaker, 30 | IZombie, 31 | ZenGarden, 32 | ChangeUser, 33 | ChallengePageSurvival, 34 | ChallengePageLimbo, 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Common/TodSmoothArray.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public/*internal*/ class TodSmoothArray 6 | { 7 | public bool SaveToFile(Buffer b) 8 | { 9 | b.WriteLong(mItem); 10 | b.WriteFloat(mWeight); 11 | b.WriteFloat(mLastPicked); 12 | b.WriteFloat(mSecondLastPicked); 13 | return true; 14 | } 15 | 16 | public bool LoadFromFile(Buffer b) 17 | { 18 | mItem = b.ReadLong(); 19 | mWeight = b.ReadFloat(); 20 | mLastPicked = b.ReadFloat(); 21 | mSecondLastPicked = b.ReadFloat(); 22 | return true; 23 | } 24 | 25 | public int mItem; 26 | 27 | public float mWeight; 28 | 29 | public float mLastPicked; 30 | 31 | public float mSecondLastPicked; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Challenge/ChallengeDefinition.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public class ChallengeDefinition 6 | { 7 | public ChallengeDefinition(GameMode mode, int index, ChallengePage page, int row, int col, string name) 8 | { 9 | mChallengeMode = mode; 10 | mChallengeIconIndex = index; 11 | mPage = page; 12 | mRow = row; 13 | mCol = col; 14 | mChallengeName = name; 15 | } 16 | 17 | public override string ToString() 18 | { 19 | return mChallengeName; 20 | } 21 | 22 | public GameMode mChallengeMode; 23 | 24 | public int mChallengeIconIndex; 25 | 26 | public ChallengePage mPage; 27 | 28 | public int mRow; 29 | 30 | public int mCol; 31 | 32 | public string mChallengeName; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Particle/ParticleRenderParams.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public struct ParticleRenderParams 6 | { 7 | public bool mRedIsSet; 8 | 9 | public bool mGreenIsSet; 10 | 11 | public bool mBlueIsSet; 12 | 13 | public bool mAlphaIsSet; 14 | 15 | public bool mParticleScaleIsSet; 16 | 17 | public bool mParticleStretchIsSet; 18 | 19 | public bool mSpinPositionIsSet; 20 | 21 | public bool mPositionIsSet; 22 | 23 | public float mRed; 24 | 25 | public float mGreen; 26 | 27 | public float mBlue; 28 | 29 | public float mAlpha; 30 | 31 | public float mParticleScale; 32 | 33 | public float mParticleStretch; 34 | 35 | public float mSpinPosition; 36 | 37 | public float mPosX; 38 | 39 | public float mPosY; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/Net/CommandGamerLeft.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.Xna.Framework.Net 4 | { 5 | internal class CommandGamerLeft : ICommand 6 | { 7 | int gamerInternalIndex = -1; 8 | internal long remoteUniqueIdentifier = -1; 9 | 10 | public CommandGamerLeft (int internalIndex) 11 | { 12 | gamerInternalIndex = internalIndex; 13 | 14 | } 15 | 16 | public CommandGamerLeft (long uniqueIndentifier) 17 | { 18 | this.remoteUniqueIdentifier = uniqueIndentifier; 19 | 20 | } 21 | 22 | public int InternalIndex 23 | { 24 | get { return gamerInternalIndex; } 25 | } 26 | 27 | public CommandEventType Command { 28 | get { return CommandEventType.GamerLeft; } 29 | } 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/Net/CommandEvent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.Xna.Framework.Net 4 | { 5 | internal class CommandEvent 6 | { 7 | CommandEventType command; 8 | object commandObject; 9 | 10 | public CommandEvent (CommandEventType command, object commandObject) 11 | { 12 | this.command = command; 13 | this.commandObject = commandObject; 14 | } 15 | 16 | public CommandEvent (ICommand command) 17 | { 18 | this.command = command.Command; 19 | this.commandObject = command; 20 | } 21 | 22 | public CommandEventType Command 23 | { 24 | get { return command; } 25 | 26 | } 27 | 28 | public object CommandObject 29 | { 30 | get { return commandObject; } 31 | } 32 | } 33 | } 34 | 35 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Sound/SoundInstance.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public abstract class SoundInstance 6 | { 7 | public abstract void Release(); 8 | 9 | public abstract void SetBaseVolume(double theBaseVolume); 10 | 11 | public abstract void SetBasePan(int theBasePan); 12 | 13 | public abstract void AdjustPitch(double theNumSteps); 14 | 15 | public abstract void SetVolume(double theVolume); 16 | 17 | public abstract void SetPan(int thePosition); 18 | 19 | public abstract bool Play(bool looping); 20 | 21 | public abstract bool Play(bool looping, bool autoRelease); 22 | 23 | public abstract void Stop(); 24 | 25 | public abstract bool IsPlaying(); 26 | 27 | public abstract bool IsDormant(); 28 | 29 | public abstract double GetVolume(); 30 | 31 | public abstract bool IsReleased(); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/Net/CommandSessionStateChange.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.Xna.Framework.Net 4 | { 5 | internal class CommandSessionStateChange : ICommand 6 | { 7 | 8 | NetworkSessionState newState; 9 | NetworkSessionState oldState; 10 | 11 | public CommandSessionStateChange (NetworkSessionState newState, NetworkSessionState oldState) 12 | { 13 | this.newState = newState; 14 | this.oldState = oldState; 15 | } 16 | 17 | public NetworkSessionState NewState 18 | { 19 | get { return newState; } 20 | } 21 | 22 | public NetworkSessionState OldState 23 | { 24 | get { return oldState; } 25 | } 26 | 27 | public CommandEventType Command { 28 | get { return CommandEventType.SessionStateChange; } 29 | } 30 | } 31 | } 32 | 33 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/CSharpExtentions/StringExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | internal static class StringExtensions 6 | { 7 | public static int length(this string s) 8 | { 9 | if (s == null) 10 | { 11 | return 0; 12 | } 13 | return s.Length; 14 | } 15 | 16 | public static bool empty(this string s) 17 | { 18 | return string.IsNullOrEmpty(s); 19 | } 20 | 21 | public static bool StartsWithCharLimit(this string s, string contains, int endChar) 22 | { 23 | bool result = true; 24 | for (int i = 0; i < endChar; i++) 25 | { 26 | if (s[i] != contains[i]) 27 | { 28 | result = false; 29 | break; 30 | } 31 | } 32 | return result; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/GamerServices/PropertyDictionary.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Microsoft.Xna.Framework.GamerServices 5 | { 6 | public class PropertyDictionary 7 | { 8 | private Dictionary PropDictionary = new Dictionary(); 9 | public int GetValueInt32 (string aKey) 10 | { 11 | return (int)PropDictionary[aKey]; 12 | } 13 | 14 | public DateTime GetValueDateTime (string aKey) 15 | { 16 | return (DateTime)PropDictionary[aKey]; 17 | } 18 | 19 | public void SetValue(string aKey, DateTime aValue) 20 | { 21 | if(PropDictionary.ContainsKey(aKey)) 22 | { 23 | PropDictionary[aKey] = aValue; 24 | } 25 | else 26 | { 27 | PropDictionary.Add(aKey,aValue); 28 | } 29 | } 30 | } 31 | 32 | } 33 | 34 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Challenge/BeghouledBoardState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using Sexy; 4 | 5 | namespace Lawn 6 | { 7 | public/*internal*/ class BeghouledBoardState 8 | { 9 | private BeghouledBoardState() 10 | { 11 | } 12 | 13 | public static BeghouledBoardState GetNewBeghouledBoardState() 14 | { 15 | if (BeghouledBoardState.unusedObjects.Count > 0) 16 | { 17 | return BeghouledBoardState.unusedObjects.Pop(); 18 | } 19 | return new BeghouledBoardState(); 20 | } 21 | 22 | public void PrepareForReuse() 23 | { 24 | BeghouledBoardState.unusedObjects.Push(this); 25 | } 26 | 27 | public SeedType[,] mSeedType = new SeedType[Constants.GRIDSIZEX, Constants.MAX_GRIDSIZEY]; 28 | 29 | private static Stack unusedObjects = new Stack(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Zombie/ZombieType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum ZombieType 6 | { 7 | Invalid = -1, 8 | Normal, 9 | Flag, 10 | TrafficCone, 11 | Polevaulter, 12 | Pail, 13 | Newspaper, 14 | Door, 15 | Football, 16 | Dancer, 17 | BackupDancer, 18 | DuckyTube, 19 | Snorkel, 20 | Zamboni, 21 | Bobsled, 22 | DolphinRider, 23 | JackInTheBox, 24 | Balloon, 25 | Digger, 26 | Pogo, 27 | Yeti, 28 | Bungee, 29 | Ladder, 30 | Catapult, 31 | Gargantuar, 32 | Imp, 33 | Boss, 34 | PeaHead, 35 | WallnutHead, 36 | JalapenoHead, 37 | GatlingHead, 38 | SquashHead, 39 | TallnutHead, 40 | RedeyeGargantuar, 41 | ZombieTypesCount, 42 | CachedPolevaulterWithPole, 43 | CachedZombieTypesCount 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Reanim/ReanimationHolder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Sexy.TodLib 5 | { 6 | public/*internal*/ class ReanimationHolder 7 | { 8 | public void InitializeHolder() 9 | { 10 | } 11 | 12 | public void DisposeHolder() 13 | { 14 | } 15 | 16 | public Reanimation AllocReanimation(float theX, float theY, int theRenderOrder, ReanimationType theReanimationType) 17 | { 18 | Reanimation newReanimation = Reanimation.GetNewReanimation(); 19 | newReanimation.mReanimationHolder = this; 20 | newReanimation.mRenderOrder = theRenderOrder; 21 | newReanimation.ReanimationInitializeType(theX, theY, theReanimationType); 22 | newReanimation.mActive = true; 23 | mReanimations.Add(newReanimation); 24 | return newReanimation; 25 | } 26 | 27 | public List mReanimations = new List(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/GridItem/GridItemState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum GridItemState //Prefix: State 6 | { 7 | Normal, 8 | GravestoneSpecial, 9 | PortalClosed, 10 | ScaryPotQuestion, 11 | ScaryPotLeaf, 12 | ScaryPotZombie, 13 | SquirrelWaiting, 14 | SquirrelPeeking, 15 | SquirrelRunningUp, 16 | SquirrelRunningDown, 17 | SquirrelRunningLeft, 18 | SquirrelRunningRight, 19 | SquirrelCaught, 20 | SquirrelZombie, 21 | ZenToolWateringCan, 22 | ZenToolFertilizer, 23 | ZenToolBugSpray, 24 | ZenToolPhonograph, 25 | ZenToolGoldWateringCan, 26 | StinkyWalkingLeft, 27 | StinkyTurningLeft, 28 | StinkyWalkingRight, 29 | StinkyTurningRight, 30 | StinkySleeping, 31 | StinkyFallingAsleep, 32 | StinkyWakingUp, 33 | RakeAttracting, 34 | RakeWaiting, 35 | RakeTriggered, 36 | BrainSquished 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/Net/CommandGamerStateChange.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.Xna.Framework.Net 4 | { 5 | internal class CommandGamerStateChange : ICommand 6 | { 7 | 8 | GamerStates newState; 9 | GamerStates oldState; 10 | NetworkGamer gamer; 11 | 12 | public CommandGamerStateChange (NetworkGamer gamer) 13 | { 14 | this.gamer = gamer; 15 | this.newState = gamer.State; 16 | this.oldState = gamer.OldState; 17 | } 18 | 19 | public NetworkGamer Gamer 20 | { 21 | get { return gamer; } 22 | } 23 | public GamerStates NewState 24 | { 25 | get { return newState; } 26 | } 27 | 28 | public GamerStates OldState 29 | { 30 | get { return oldState; } 31 | } 32 | 33 | public CommandEventType Command { 34 | get { return CommandEventType.GamerStateChange; } 35 | } 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Common/TodWeightedArray.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Sexy.TodLib 5 | { 6 | public/*internal*/ class TodWeightedArray 7 | { 8 | public static TodWeightedArray GetNewTodWeightedArray() 9 | { 10 | if (TodWeightedArray.unusedObjects.Count > 0) 11 | { 12 | return TodWeightedArray.unusedObjects.Pop(); 13 | } 14 | return new TodWeightedArray(); 15 | } 16 | 17 | public void PrepareForReuse() 18 | { 19 | Reset(); 20 | TodWeightedArray.unusedObjects.Push(this); 21 | } 22 | 23 | private TodWeightedArray() 24 | { 25 | } 26 | 27 | public void Reset() 28 | { 29 | mItem = null; 30 | mWeight = 0; 31 | } 32 | 33 | public object mItem; 34 | 35 | public int mWeight; 36 | 37 | private static Stack unusedObjects = new Stack(); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Lawn_Shared/UNPACK_INFO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Sexy; 3 | 4 | public/*internal*/ class UNPACK_INFO 5 | { 6 | public UNPACK_INFO(Image pImage, int theX, int theY, int theWidth, int theHeight, int theRows, int theCols, AnimType theAnimType, int theFrameDelay, int theBeginDelay, int theEndDelay) 7 | { 8 | mpImage = pImage; 9 | mX = theX; 10 | mY = theY; 11 | mWidth = theWidth; 12 | mHeight = theHeight; 13 | mRows = theRows; 14 | mCols = theCols; 15 | mAnimType = theAnimType; 16 | mFrameDelay = theFrameDelay; 17 | mBeginDelay = theBeginDelay; 18 | mEndDelay = theEndDelay; 19 | } 20 | 21 | public Image mpImage; 22 | 23 | public int mX; 24 | 25 | public int mY; 26 | 27 | public int mWidth; 28 | 29 | public int mHeight; 30 | 31 | public int mRows; 32 | 33 | public int mCols; 34 | 35 | public AnimType mAnimType; 36 | 37 | public int mFrameDelay; 38 | 39 | public int mBeginDelay; 40 | 41 | public int mEndDelay; 42 | } 43 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Zombie/ZombieDefinition.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Sexy.TodLib; 3 | 4 | namespace Lawn 5 | { 6 | public/*internal*/ class ZombieDefinition 7 | { 8 | public ZombieDefinition(ZombieType aZombieType, ReanimationType aReanimationType, int aZombieValue, int aStartingLevel, int aFirstAllowedWave, int aPickWeight, string aZombieName) 9 | { 10 | mZombieType = aZombieType; 11 | mReanimationType = aReanimationType; 12 | mZombieValue = aZombieValue; 13 | mStartingLevel = aStartingLevel; 14 | mFirstAllowedWave = aFirstAllowedWave; 15 | mPickWeight = aPickWeight; 16 | mZombieName = aZombieName; 17 | } 18 | 19 | public ZombieType mZombieType; 20 | 21 | public ReanimationType mReanimationType; 22 | 23 | public int mZombieValue; 24 | 25 | public int mStartingLevel; 26 | 27 | public int mFirstAllowedWave; 28 | 29 | public int mPickWeight; 30 | 31 | public string mZombieName; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Reanim/Attachment/AttachmentHolder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Sexy.TodLib 5 | { 6 | public/*internal*/ class AttachmentHolder 7 | { 8 | public void Dispose() 9 | { 10 | DisposeHolder(); 11 | } 12 | 13 | public void InitializeHolder() 14 | { 15 | mAttachments.Clear(); 16 | } 17 | 18 | public void DisposeHolder() 19 | { 20 | for (int i = 0; i < mAttachments.Count; i++) 21 | { 22 | mAttachments[i].PrepareForReuse(); 23 | } 24 | mAttachments.Clear(); 25 | } 26 | 27 | public Attachment AllocAttachment() 28 | { 29 | Attachment newAttachment = Attachment.GetNewAttachment(); 30 | newAttachment.mActive = true; 31 | mAttachments.Add(newAttachment); 32 | return newAttachment; 33 | } 34 | 35 | public List mAttachments = new List(1024); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/MonoGame.Framework.Net.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | a0cdbd0e-3a41-42b7-9425-a838bc2c7383 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /IronPyInteractiveDef_Shared/WSEvents.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace IronPyInteractiveDef_Shared 6 | { 7 | internal class WSEvents 8 | { 9 | public class WSEvent 10 | { 11 | public string eventtype; 12 | public long timestamp; 13 | } 14 | 15 | public class ExecutionEvent : WSEvent 16 | { 17 | public ExecutionEvent() { 18 | eventtype = "execution"; 19 | } 20 | public ExecutionEventResult statuscode; 21 | public object result; 22 | public string errortype; 23 | } 24 | 25 | public class OutputEvent : WSEvent 26 | { 27 | public OutputEvent() 28 | { 29 | eventtype = "output"; 30 | } 31 | public string name; 32 | public string msg; 33 | } 34 | public enum ExecutionEventResult 35 | { 36 | error = -1, 37 | executed = 0 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn_Shared.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1a95301d-4238-4ccd-9b56-38537e891b16 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Trail/TrailDefinition.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public/*internal*/ class TrailDefinition 6 | { 7 | public TrailDefinition() 8 | { 9 | mMaxPoints = 2; 10 | mMinPointDistance = 1f; 11 | mTrailFlags = 0; 12 | mImage = null; 13 | } 14 | 15 | public void Dispose() 16 | { 17 | } 18 | 19 | public Image mImage; 20 | 21 | public string mImageName; 22 | 23 | public int mMaxPoints; 24 | 25 | public float mMinPointDistance; 26 | 27 | public int mTrailFlags; 28 | 29 | public FloatParameterTrack mTrailDuration = new FloatParameterTrack(); 30 | 31 | public FloatParameterTrack mWidthOverLength = new FloatParameterTrack(); 32 | 33 | public FloatParameterTrack mWidthOverTime = new FloatParameterTrack(); 34 | 35 | public FloatParameterTrack mAlphaOverLength = new FloatParameterTrack(); 36 | 37 | public FloatParameterTrack mAlphaOverTime = new FloatParameterTrack(); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /LawnModExtension/LawnModExtension.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | c1dd562e-4506-4d33-92f3-6ae5cfefe16e 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Common/TodWeightedGridArray.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Sexy.TodLib 5 | { 6 | public/*internal*/ class TodWeightedGridArray 7 | { 8 | public static TodWeightedGridArray GetNewTodWeightedGridArray() 9 | { 10 | if (TodWeightedGridArray.unusedObjects.Count > 0) 11 | { 12 | return TodWeightedGridArray.unusedObjects.Pop(); 13 | } 14 | return new TodWeightedGridArray(); 15 | } 16 | 17 | private TodWeightedGridArray() 18 | { 19 | } 20 | 21 | public void Reset() 22 | { 23 | mX = (mY = (mWeight = 0)); 24 | } 25 | 26 | public void PrepareForReuse() 27 | { 28 | Reset(); 29 | TodWeightedGridArray.unusedObjects.Push(this); 30 | } 31 | 32 | public int mX; 33 | 34 | public int mY; 35 | 36 | public int mWeight; 37 | 38 | private static Stack unusedObjects = new Stack(); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Lawn_Shared/RandomNumbers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | public/*internal*/ static class RandomNumbers 4 | { 5 | public/*internal*/ static int NextNumber() 6 | { 7 | if (RandomNumbers.r == null) 8 | { 9 | RandomNumbers.Seed(); 10 | } 11 | return RandomNumbers.r.Next(); 12 | } 13 | 14 | public/*internal*/ static int NextNumber(int ceiling) 15 | { 16 | if (RandomNumbers.r == null) 17 | { 18 | RandomNumbers.Seed(); 19 | } 20 | return RandomNumbers.r.Next(ceiling); 21 | } 22 | 23 | public/*internal*/ static float NextNumber(float ceiling) 24 | { 25 | if (RandomNumbers.r == null) 26 | { 27 | RandomNumbers.Seed(); 28 | } 29 | return (float)RandomNumbers.r.NextDouble() * ceiling; 30 | } 31 | 32 | public/*internal*/ static void Seed() 33 | { 34 | RandomNumbers.r = new Random(); 35 | } 36 | 37 | public/*internal*/ static void Seed(int seed) 38 | { 39 | RandomNumbers.r = new Random(seed); 40 | } 41 | 42 | private static Random r; 43 | } 44 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 MnJS 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /IronPyInteractiveDef_Shared/IronPyInteractiveDef_Shared.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | b98f5710-197f-420e-82eb-5a7750239ceb 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/TutorialState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public/*internal*/ enum TutorialState 6 | { 7 | Off, 8 | Level1PickUpPeashooter, 9 | Level1PlantPeashooter, 10 | Level1RefreshPeashooter, 11 | Level1Completed, 12 | Level2PickUpSunflower, 13 | Level2PlantSunflower, 14 | Level2RefreshSunflower, 15 | Level2Completed, 16 | MoresunPickUpSunflower, 17 | MoresunPlantSunflower, 18 | MoresunRefreshSunflower, 19 | MoresunCompleted, 20 | SlotMachinePull, 21 | SlotMachineCompleted, 22 | ShovelPickup, 23 | ShovelDig, 24 | ShovelKeepDigging, 25 | ShovelCompleted, 26 | ZombiquariumBuySnorkel, 27 | ZombiquariumBoughtSnorkel, 28 | ZombiquariumClickTrophy, 29 | ZenGardenPickupWater, 30 | ZenGardenWaterPlant, 31 | ZenGardenKeepWatering, 32 | ZenGardenVisitStore, 33 | ZenGardenFertilizePlants, 34 | ZenGardenCompleted, 35 | WhackAZombieBeforePickSeed, 36 | WhackAZombiePickSeed, 37 | WhackAZombieCompleted 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Basic/LawnEditWidget.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Sexy; 3 | 4 | namespace Lawn 5 | { 6 | internal class LawnEditWidget : EditWidget 7 | { 8 | public LawnEditWidget(int theId, EditListener theEditListener, Dialog theDialog, string title, string description) : base(theId, theEditListener, title, description) 9 | { 10 | mDialog = theDialog; 11 | mAutoCapFirstLetter = true; 12 | } 13 | 14 | public override void KeyDown(KeyCode theKey) 15 | { 16 | base.KeyDown(theKey); 17 | if (theKey == KeyCode.Escape) 18 | { 19 | mDialog.KeyDown(theKey); 20 | } 21 | } 22 | 23 | public override void KeyChar(SexyChar theChar) 24 | { 25 | if (mAutoCapFirstLetter && char.IsLetter(theChar.value_type)) 26 | { 27 | theChar.value_type = char.ToUpper(theChar.value_type); 28 | mAutoCapFirstLetter = false; 29 | } 30 | base.KeyChar(theChar); 31 | } 32 | 33 | public Dialog mDialog; 34 | 35 | public bool mAutoCapFirstLetter; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/Net/CommandSendData.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.Xna.Framework.Net 4 | { 5 | internal class CommandSendData : ICommand 6 | { 7 | internal int gamerInternalIndex = -1; 8 | internal byte[] data; 9 | internal SendDataOptions options; 10 | internal int offset; 11 | internal int count; 12 | internal NetworkGamer gamer; 13 | internal LocalNetworkGamer sender; 14 | 15 | public CommandSendData (byte[] data, int offset, int count, SendDataOptions options, NetworkGamer gamer, LocalNetworkGamer sender) 16 | { 17 | if (gamer != null) 18 | gamerInternalIndex = gamer.Id; 19 | this.data = new byte[count]; 20 | Array.Copy(data, offset, this.data, 0, count); 21 | this.offset = offset; 22 | this.count = count; 23 | this.options = options; 24 | this.gamer = gamer; 25 | this.sender = sender; 26 | 27 | } 28 | 29 | public CommandEventType Command { 30 | get { return CommandEventType.SendData; } 31 | } 32 | } 33 | } 34 | 35 | -------------------------------------------------------------------------------- /Lawn_Android/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | using Android.App; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("Lawn_Android")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("Lawn_Android")] 14 | [assembly: AssemblyCopyright("Copyright © 2022")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | [assembly: ComVisible(false)] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Build and Revision Numbers 27 | // by using the '*' as shown below: 28 | // [assembly: AssemblyVersion("1.0.*")] 29 | [assembly: AssemblyVersion("0.1.2.0")] 30 | [assembly: AssemblyFileVersion("0.1.2.0")] 31 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/MagnetItem/MagnetItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Sexy; 3 | 4 | namespace Lawn 5 | { 6 | public/*internal*/ class MagnetItem 7 | { 8 | public void Reset() 9 | { 10 | mPosX = (mPosY = (mDestOffsetX = (mDestOffsetY = 0f))); 11 | mItemType = MagnetItemType.None; 12 | } 13 | 14 | public bool SaveToFile(Sexy.Buffer b) 15 | { 16 | b.WriteFloat(mDestOffsetX); 17 | b.WriteFloat(mDestOffsetY); 18 | b.WriteLong((int)mItemType); 19 | b.WriteFloat(mPosX); 20 | b.WriteFloat(mPosY); 21 | return true; 22 | } 23 | 24 | public bool LoadFromFile(Sexy.Buffer b) 25 | { 26 | mDestOffsetX = b.ReadFloat(); 27 | mDestOffsetY = b.ReadFloat(); 28 | mItemType = (MagnetItemType)b.ReadLong(); 29 | mPosX = b.ReadFloat(); 30 | mPosY = b.ReadFloat(); 31 | return true; 32 | } 33 | 34 | public float mPosX; 35 | 36 | public float mPosY; 37 | 38 | public float mDestOffsetX; 39 | 40 | public float mDestOffsetY; 41 | 42 | public MagnetItemType mItemType; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Plant/PlantDefinition.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Sexy; 3 | using Sexy.TodLib; 4 | 5 | namespace Lawn 6 | { 7 | public/*internal*/ class PlantDefinition 8 | { 9 | public PlantDefinition(SeedType aSeedType, Image[] aPlantImage, ReanimationType aReanimationType, int aPacketIndex, int aSeedCost, int aRefreshTime, PlantSubClass aSubClass, int aLaunchRate, string aPlantName) 10 | { 11 | mSeedType = aSeedType; 12 | mPlantImage = aPlantImage; 13 | mReanimationType = aReanimationType; 14 | mPacketIndex = aPacketIndex; 15 | mSeedCost = aSeedCost; 16 | mRefreshTime = aRefreshTime; 17 | mSubClass = aSubClass; 18 | mLaunchRate = aLaunchRate; 19 | mPlantName = aPlantName; 20 | } 21 | 22 | public SeedType mSeedType; 23 | 24 | public Image[] mPlantImage; 25 | 26 | public ReanimationType mReanimationType; 27 | 28 | public int mPacketIndex; 29 | 30 | public int mSeedCost; 31 | 32 | public int mRefreshTime; 33 | 34 | public PlantSubClass mSubClass; 35 | 36 | public int mLaunchRate; 37 | 38 | public string mPlantName; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Reanim/ReanimatorTrack.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public/*internal*/ class ReanimatorTrack 6 | { 7 | public string mName 8 | { 9 | get 10 | { 11 | return name; 12 | } 13 | set 14 | { 15 | name = value; 16 | IsAttacher = name.StartsWith("attacher__"); 17 | } 18 | } 19 | 20 | public ReanimatorTrack(string name, int transformCount) 21 | { 22 | mName = name; 23 | mTransformCount = (short)transformCount; 24 | mTransforms = new ReanimatorTransform[mTransformCount]; 25 | } 26 | 27 | public override string ToString() 28 | { 29 | return name; 30 | } 31 | 32 | public void ExtractImages() 33 | { 34 | for (int i = 0; i < mTransforms.Length; i++) 35 | { 36 | mTransforms[i].ExtractImages(); 37 | } 38 | } 39 | 40 | private string name; 41 | 42 | public ReanimatorTransform[] mTransforms; 43 | 44 | public short mTransformCount; 45 | 46 | public bool IsAttacher; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Common/TodLibConstants.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | internal static class TodLibConstants 6 | { 7 | public const int MAX_EFFECTS_PER_ATTACHMENT = 16; 8 | 9 | public const int TICKS_PER_SECOND = 100; 10 | 11 | public const int REANIMATOR_LOAD_TASK_FACTOR = 0; 12 | 13 | public const int MAX_TRACK_NODES = 10; 14 | 15 | public const int MAX_REANIM_IMAGES = 64; 16 | 17 | public const int RENDER_GROUP_HIDDEN = -1; 18 | 19 | public const int RENDER_GROUP_NORMAL = 0; 20 | 21 | public const float DEFAULT_FIELD_PLACEHOLDER = -10000f; 22 | 23 | public const int NO_BASE_POSE = -2; 24 | 25 | public const int MAX_FOLEY_VARIATIONS = 10; 26 | 27 | public const int MAX_FOLEY_INSTANCES = 8; 28 | 29 | public const int MAX_FOLEY_TYPES = 110; 30 | 31 | public const int LAWN_PARTICLE_AVE_MS_TO_LOAD = 6; 32 | 33 | public const int MAX_PARTICLE_FIELDS = 5; 34 | 35 | public const int MAX_HESITATION_MESSAGE_SIZE = 256; 36 | 37 | public const int MAX_HESITATION_BUFFER_SIZE = 262144; 38 | 39 | public const int MAX_TRAIL_POINTS = 20; 40 | 41 | public const int MAX_TRAIL_TRIANGLES = 38; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Almanac/DescriptionWidget.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Sexy; 3 | using Sexy.TodLib; 4 | 5 | namespace Lawn 6 | { 7 | public/*internal*/ class DescriptionWidget : Widget 8 | { 9 | public DescriptionWidget() 10 | { 11 | mHeight = 0; 12 | } 13 | 14 | public void SetText(ref string theText) 15 | { 16 | mText = theText; 17 | Graphics @new = Graphics.GetNew(); 18 | @new.SetFont(Resources.FONT_BRIANNETOD12); 19 | mHeight = TodStringFile.TodDrawStringWrappedHeight(@new, mText, new TRect(0, 0, mWidth - SCROLLBAR_PAD, 0), Resources.FONT_BRIANNETOD12, new SexyColor(40, 50, 90), DrawStringJustification.Left); 20 | @new.PrepareForReuse(); 21 | } 22 | 23 | public override void Draw(Graphics g) 24 | { 25 | g.HardwareClip(); 26 | TodStringFile.TodDrawStringWrapped(g, mText, new TRect(0, 0, mWidth - SCROLLBAR_PAD, mHeight), Resources.FONT_BRIANNETOD12, new SexyColor(40, 50, 90), DrawStringJustification.Left); 27 | g.EndHardwareClip(); 28 | } 29 | 30 | public int SCROLLBAR_PAD = Constants.DescriptionWidget_ScrollBar_Padding; 31 | 32 | private string mText = string.Empty; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Extension/FrameCounter.cs: -------------------------------------------------------------------------------- 1 | 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace Sexy 6 | { 7 | 8 | public class FrameCounter 9 | { 10 | public FrameCounter() 11 | { 12 | } 13 | 14 | public long TotalFrames { get; private set; } 15 | public float TotalSeconds { get; private set; } 16 | public float AverageFramesPerSecond { get; private set; } 17 | public float CurrentFramesPerSecond { get; private set; } 18 | 19 | public const int MAXIMUM_SAMPLES = 100; 20 | 21 | private Queue _sampleBuffer = new Queue(); 22 | 23 | public bool Update(float deltaTime) 24 | { 25 | CurrentFramesPerSecond = 1.0f / deltaTime; 26 | 27 | _sampleBuffer.Enqueue(CurrentFramesPerSecond); 28 | 29 | if (_sampleBuffer.Count > MAXIMUM_SAMPLES) 30 | { 31 | _sampleBuffer.Dequeue(); 32 | AverageFramesPerSecond = _sampleBuffer.Average(i => i); 33 | } 34 | else 35 | { 36 | AverageFramesPerSecond = CurrentFramesPerSecond; 37 | } 38 | 39 | TotalFrames++; 40 | TotalSeconds += deltaTime; 41 | return true; 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Common/TodStringListFormat.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public/*internal*/ class TodStringListFormat 6 | { 7 | public TodStringListFormat() 8 | { 9 | Reset(); 10 | } 11 | 12 | public void Reset() 13 | { 14 | mFormatName = null; 15 | mNewFont = null; 16 | mNewColor = default(SexyColor); 17 | mBaseColor = default(SexyColor); 18 | mLineSpacingOffset = 0; 19 | mFormatFlags = 0U; 20 | } 21 | 22 | public TodStringListFormat(string aFormatName, Font aNewFont, SexyColor aNewColor, int aLineSpacingOffset, uint aFormatFlags) 23 | { 24 | mFormatName = aFormatName; 25 | mNewFont = aNewFont; 26 | mNewColor = aNewColor; 27 | mBaseColor = aNewColor; 28 | mLineSpacingOffset = aLineSpacingOffset; 29 | mFormatFlags = aFormatFlags; 30 | } 31 | 32 | public SexyColor mBaseColor = default(SexyColor); 33 | 34 | public string mFormatName; 35 | 36 | public Font mNewFont; 37 | 38 | public SexyColor mNewColor = default(SexyColor); 39 | 40 | public int mLineSpacingOffset; 41 | 42 | public uint mFormatFlags; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Store/StoreItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum StoreItem 6 | { 7 | STORE_ITEM_PLANT_GATLINGPEA, 8 | STORE_ITEM_PLANT_TWINSUNFLOWER, 9 | STORE_ITEM_PLANT_GLOOMSHROOM, 10 | STORE_ITEM_PLANT_CATTAIL, 11 | STORE_ITEM_PLANT_WINTERMELON, 12 | STORE_ITEM_PLANT_GOLD_MAGNET, 13 | STORE_ITEM_PLANT_SPIKEROCK, 14 | STORE_ITEM_PLANT_COBCANNON, 15 | STORE_ITEM_PLANT_IMITATER, 16 | STORE_ITEM_BONUS_LAWN_MOWER, 17 | STORE_ITEM_POTTED_MARIGOLD_1, 18 | STORE_ITEM_POTTED_MARIGOLD_2, 19 | STORE_ITEM_POTTED_MARIGOLD_3, 20 | STORE_ITEM_GOLD_WATERINGCAN, 21 | STORE_ITEM_FERTILIZER, 22 | STORE_ITEM_BUG_SPRAY, 23 | STORE_ITEM_PHONOGRAPH, 24 | STORE_ITEM_GARDENING_GLOVE, 25 | STORE_ITEM_MUSHROOM_GARDEN, 26 | STORE_ITEM_WHEEL_BARROW, 27 | STORE_ITEM_STINKY_THE_SNAIL, 28 | STORE_ITEM_PACKET_UPGRADE, 29 | STORE_ITEM_POOL_CLEANER, 30 | STORE_ITEM_ROOF_CLEANER, 31 | STORE_ITEM_RAKE, 32 | STORE_ITEM_AQUARIUM_GARDEN, 33 | STORE_ITEM_CHOCOLATE, 34 | STORE_ITEM_TREE_OF_WISDOM, 35 | STORE_ITEM_TREE_FOOD, 36 | STORE_ITEM_FIRSTAID, 37 | STORE_ITEM_INVALID = -1 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Sound/SoundManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public abstract class SoundManager 6 | { 7 | public abstract void Release(); 8 | 9 | public abstract void Enable(bool enable); 10 | 11 | public abstract bool Initialized(); 12 | 13 | public abstract bool LoadSound(uint theSfxID, string theFilename); 14 | 15 | public abstract int LoadSound(string theFilename); 16 | 17 | public abstract void ReleaseSound(uint theSfxID); 18 | 19 | public abstract void SetVolume(double theVolume); 20 | 21 | public abstract bool SetBaseVolume(uint theSfxID, double theBaseVolume); 22 | 23 | public abstract bool SetBasePan(uint theSfxID, int theBasePan); 24 | 25 | public abstract SoundInstance GetSoundInstance(uint theSfxID); 26 | 27 | public abstract void ReleaseSounds(); 28 | 29 | public abstract void ReleaseChannels(); 30 | 31 | public abstract double GetMasterVolume(); 32 | 33 | public abstract void SetMasterVolume(double theVolume); 34 | 35 | public abstract void Flush(); 36 | 37 | public abstract void StopAllSounds(); 38 | 39 | public abstract int GetFreeSoundId(); 40 | 41 | public abstract int GetNumSounds(); 42 | 43 | public abstract void Update(); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/Platform/MacOS/GamerServices/MonoGameLocalGamerProfile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | 4 | namespace Microsoft.Xna.Framework.GamerServices 5 | { 6 | [Serializable()] 7 | internal class MonoGameLocalGamerProfile 8 | { 9 | Guid playerGuid; 10 | 11 | internal MonoGameLocalGamerProfile () 12 | { 13 | playerGuid = Guid.NewGuid(); 14 | } 15 | 16 | #region Properties 17 | 18 | internal Guid PlayerInternalIdentifier 19 | { 20 | get { return playerGuid; } 21 | set { playerGuid = value; } 22 | } 23 | 24 | internal string DisplayName { 25 | get; 26 | set; 27 | } 28 | 29 | internal string Gamertag { 30 | get; 31 | set; 32 | } 33 | 34 | 35 | internal byte[] GamerPicture { 36 | get; 37 | set; 38 | } 39 | 40 | internal int GamerScore { 41 | get; 42 | set; 43 | } 44 | 45 | internal GamerZone GamerZone { 46 | get; 47 | set; 48 | } 49 | 50 | internal string Motto { 51 | get; 52 | set; 53 | } 54 | 55 | internal RegionInfo Region { 56 | get; 57 | set; 58 | } 59 | 60 | internal float Reputation { 61 | get; 62 | set; 63 | } 64 | 65 | internal int TitlesPlayed { 66 | get; 67 | set; 68 | } 69 | 70 | internal int TotalAchievements { 71 | get; 72 | set; 73 | } 74 | #endregion 75 | } 76 | } 77 | 78 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Reanim/Attachment/AttachEffect.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Sexy.TodLib 5 | { 6 | public/*internal*/ class AttachEffect 7 | { 8 | public static AttachEffect GetNewAttachEffect() 9 | { 10 | if (AttachEffect.unusedObjects.Count > 0) 11 | { 12 | return AttachEffect.unusedObjects.Pop(); 13 | } 14 | return new AttachEffect(); 15 | } 16 | 17 | public void PrepareForReuse() 18 | { 19 | Reset(); 20 | AttachEffect.unusedObjects.Push(this); 21 | } 22 | 23 | private AttachEffect() 24 | { 25 | Reset(); 26 | } 27 | 28 | public void Reset() 29 | { 30 | mEffectID = null; 31 | mEffectType = EffectType.Particle; 32 | mOffset = default(SexyTransform2D); 33 | mDontDrawIfParentHidden = false; 34 | mDontPropogateColor = false; 35 | } 36 | 37 | public object mEffectID; 38 | 39 | public EffectType mEffectType; 40 | 41 | public SexyTransform2D mOffset = default(SexyTransform2D); 42 | 43 | public bool mDontDrawIfParentHidden; 44 | 45 | public bool mDontPropogateColor; 46 | 47 | private static Stack unusedObjects = new Stack(100); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/System/SexyAppFrameworkConstants.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | internal class SexyAppFrameworkConstants 6 | { 7 | public static int ticksForSeconds(float seconds) 8 | { 9 | return (int)(100f * seconds); 10 | } 11 | 12 | public const int FRAMEWORK_UPDATE_RATE = 100; 13 | 14 | public const int NSTIMER_UPDATE_RATE = 30; 15 | 16 | public const int ASSOCIATED_ALPHA = 1; 17 | 18 | public const int MAX_VERTICES = 4096; 19 | 20 | public const long POLYNOMIAL = 79764919L; 21 | 22 | public const int MTRAND_N = 624; 23 | 24 | public const int MAX_SOURCE_SOUNDS = 256; 25 | 26 | public const int MAX_CHANNELS = 32; 27 | 28 | public const int Flushes = 1; 29 | 30 | public const long FONT_MAGIC = 4278190267L; 31 | 32 | public const int INCLUDE_WINDOWS_1252_EXTENSIONS = 1; 33 | 34 | public const int MTRAND_M = 397; 35 | 36 | public const ulong MATRIX_A = 2567483615UL; 37 | 38 | public const ulong UPPER_MASK = 2147483648UL; 39 | 40 | public const ulong LOWER_MASK = 2147483647UL; 41 | 42 | public const long TEMPERING_MASK_B = 2636928640L; 43 | 44 | public const long TEMPERING_MASK_C = 4022730752L; 45 | 46 | public const int VERBOSE_LOADING = 0; 47 | 48 | public const int SERIALIZE_FONTS = 0; 49 | 50 | public const int THREAD_PRINT = 1; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Plant/PlantState.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum PlantState //Prefix: STATE 6 | { 7 | Notready, 8 | Ready, 9 | Doingspecial, 10 | SquashLook, 11 | SquashPreLaunch, 12 | SquashRising, 13 | SquashFalling, 14 | SquashDoneFalling, 15 | GravebusterLanding, 16 | GravebusterEating, 17 | ChomperBiting, 18 | ChomperBitingGotOne, 19 | ChomperBitingMissed, 20 | ChomperDigesting, 21 | ChomperSwallowing, 22 | PotatoRising, 23 | PotatoArmed, 24 | PotatoMashed, 25 | SpikeweedAttacking, 26 | SpikeweedAttacking2, 27 | ScaredyshroomLowering, 28 | ScaredyshroomScared, 29 | ScaredyshroomRaising, 30 | SunshroomSmall, 31 | SunshroomGrowing, 32 | SunshroomBig, 33 | MagnetshroomSucking, 34 | MagnetshroomCharging, 35 | BowlingUp, 36 | BowlingDown, 37 | CactusLow, 38 | CactusRising, 39 | CactusHigh, 40 | CactusLowering, 41 | TanglekelpGrabbing, 42 | CobcannonArming, 43 | CobcannonLoading, 44 | CobcannonReady, 45 | CobcannonFiring, 46 | KernelpultButter, 47 | UmbrellaTriggered, 48 | UmbrellaReflecting, 49 | ImitaterMorphing, 50 | ZenGardenWatered, 51 | ZenGardenNeedy, 52 | ZenGardenHappy, 53 | MarigoldEnding, 54 | FlowerpotInvulnerable, 55 | LilypadInvulnerable 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/CSharpExtentions/CollectionExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Sexy 5 | { 6 | internal static class CollectionExtensions 7 | { 8 | public static bool empty(this IList col) 9 | { 10 | return col.Count == 0; 11 | } 12 | 13 | public static bool empty(this Dictionary col) 14 | { 15 | return col.Count == 0; 16 | } 17 | 18 | public static int size(this List col) 19 | { 20 | return col.Count; 21 | } 22 | 23 | public static T Last(this List col) 24 | { 25 | return col[col.Count - 1]; 26 | } 27 | 28 | public static void RemoveLast(this List col) 29 | { 30 | col.RemoveAt(col.Count - 1); 31 | } 32 | 33 | public static bool empty(this Stack col) 34 | { 35 | return col.Count == 0; 36 | } 37 | 38 | public static void push_back(this Stack col, T element) 39 | { 40 | col.Push(element); 41 | } 42 | 43 | public static T pop_back(this Stack col) 44 | { 45 | return col.Pop(); 46 | } 47 | 48 | public static T back(this Stack col) 49 | { 50 | return col.Peek(); 51 | } 52 | 53 | public static void insert(this List> col, T key, U value) 54 | { 55 | col.Add(new KeyValuePair(key, value)); 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Trail/TrailHolder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Sexy.TodLib 5 | { 6 | public/*internal*/ class TrailHolder 7 | { 8 | public void Dispose() 9 | { 10 | DisposeHolder(); 11 | } 12 | 13 | public void InitializeHolder() 14 | { 15 | mTrails.Capacity = 128; 16 | } 17 | 18 | public void DisposeHolder() 19 | { 20 | if (mTrails != null) 21 | { 22 | mTrails.Clear(); 23 | } 24 | } 25 | 26 | public Trail AllocTrail(int theRenderOrder, TrailType theTrailType) 27 | { 28 | TrailDefinition theDefinition = GlobalMembersTrail.gTrailDefArray[(int)theTrailType]; 29 | return AllocTrailFromDef(theRenderOrder, theDefinition); 30 | } 31 | 32 | public Trail AllocTrailFromDef(int theRenderOrder, TrailDefinition theDefinition) 33 | { 34 | if (mTrails.Count == mTrails.Capacity) 35 | { 36 | return null; 37 | } 38 | Trail trail = new Trail(); 39 | trail.mTrailHolder = this; 40 | trail.mDefinition = theDefinition; 41 | float theInterp = TodCommon.RandRangeFloat(0f, 1f); 42 | trail.mTrailDuration = (int)Definition.FloatTrackEvaluate(ref trail.mDefinition.mTrailDuration, 0f, theInterp); 43 | mTrails.Add(trail); 44 | return trail; 45 | } 46 | 47 | public List mTrails = new List(); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/GlobalContentManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Xna.Framework.Content; 3 | using Microsoft.Xna.Framework.Graphics; 4 | using Sexy; 5 | 6 | namespace Lawn 7 | { 8 | public /*internal*/ class GlobalContentManager 9 | { 10 | public GlobalContentManager(Main m) 11 | { 12 | main = m; 13 | content = main.Content; 14 | graphicsDevice = main.GraphicsDevice; 15 | content.RootDirectory = "Content"; 16 | } 17 | 18 | public void cleanUp() 19 | { 20 | } 21 | 22 | public void LoadSplashScreen() 23 | { 24 | new ContentManager(main.Services); 25 | } 26 | 27 | public void LoadGameContent() 28 | { 29 | cursor_texture = content.Load(".\\Cursor"); 30 | LoadFonts(); 31 | } 32 | 33 | public void LoadFonts() 34 | { 35 | DEFAULT_FONT = content.Load(".\\fonts\\Arial"); 36 | LOCALIZED_FONT_ARIAL = content.Load(".\\fonts\\ArialLocalizedFont"); 37 | } 38 | 39 | public void LoadSounds() 40 | { 41 | } 42 | 43 | public virtual void LoadLevelBackdrops() 44 | { 45 | } 46 | 47 | public Main main; 48 | 49 | public ContentManager content; 50 | 51 | public GraphicsDevice graphicsDevice; 52 | 53 | public SpriteFont DEFAULT_FONT; 54 | 55 | public SpriteFont LOCALIZED_FONT_ARIAL; 56 | 57 | public Texture2D splashScreen_texture; 58 | 59 | public Texture2D splashScreen_ring; 60 | 61 | public Texture2D cursor_texture; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/TypingCheck.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Sexy; 3 | 4 | namespace Lawn 5 | { 6 | public/*internal*/ class TypingCheck 7 | { 8 | public TypingCheck() 9 | { 10 | } 11 | 12 | public TypingCheck(string thePhrase) 13 | { 14 | SetPhrase(thePhrase); 15 | } 16 | 17 | public void SetPhrase(string thePhrase) 18 | { 19 | for (int i = 0; i < thePhrase.Length; i++) 20 | { 21 | AddChar(thePhrase[i]); 22 | } 23 | } 24 | 25 | public void AddKeyCode(KeyCode theCode) 26 | { 27 | mPhrase += (char)theCode; 28 | } 29 | 30 | public void AddChar(char theChar) 31 | { 32 | mPhrase += (char)KeyCodes.GetKeyCodeFromName(theChar.ToString()); 33 | } 34 | 35 | public bool Check(KeyCode theCode) 36 | { 37 | mRecentTyping += (char)theCode; 38 | int length = mPhrase.Length; 39 | if (length == 0) 40 | { 41 | return false; 42 | } 43 | if (mRecentTyping.Length > length) 44 | { 45 | mRecentTyping = mRecentTyping.Substring(1, length); 46 | } 47 | if (mRecentTyping == mPhrase) 48 | { 49 | mRecentTyping = string.Empty; 50 | return true; 51 | } 52 | return false; 53 | } 54 | 55 | public bool Check(sbyte theChar) 56 | { 57 | return false; 58 | } 59 | 60 | protected string mPhrase; 61 | 62 | protected string mRecentTyping; 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/WidgetOverlayPair.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Sexy 5 | { 6 | public/*internal*/ class WidgetOverlayPair 7 | { 8 | public static WidgetOverlayPair GetNewWidgetOverlayPair(Widget w, int p) 9 | { 10 | if (WidgetOverlayPair.unusedObjects.Count > 0) 11 | { 12 | WidgetOverlayPair widgetOverlayPair = WidgetOverlayPair.unusedObjects.Pop(); 13 | widgetOverlayPair.Reset(w, p); 14 | return widgetOverlayPair; 15 | } 16 | return new WidgetOverlayPair(w, p); 17 | } 18 | 19 | public void PrepareForReuse() 20 | { 21 | WidgetOverlayPair.unusedObjects.Push(this); 22 | } 23 | 24 | private WidgetOverlayPair(Widget w, int p) 25 | { 26 | Reset(w, p); 27 | } 28 | 29 | private void Reset(Widget w, int p) 30 | { 31 | aWidget = w; 32 | aPriority = p; 33 | } 34 | 35 | public void Clear() 36 | { 37 | aWidget = null; 38 | aPriority = 0; 39 | } 40 | 41 | public override int GetHashCode() 42 | { 43 | return aPriority; 44 | } 45 | 46 | public override bool Equals(object obj) 47 | { 48 | WidgetOverlayPair widgetOverlayPair = obj as WidgetOverlayPair; 49 | return widgetOverlayPair != null && this == widgetOverlayPair; 50 | } 51 | 52 | public Widget aWidget; 53 | 54 | public int aPriority; 55 | 56 | private static Stack unusedObjects = new Stack(10); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Lawn_PCDX/app.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | true/pm 39 | permonitorv2,permonitor 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Lawn_PCGL/app.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | true/pm 39 | permonitorv2,permonitor 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/System/Utils/Interpolator/Interpolator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | internal static class GlobalMembersInterpolator 6 | { 7 | public static float tlerp(float t, float a, float b) 8 | { 9 | return a + t * (b - a); 10 | } 11 | 12 | public static TPoint tlerp(float t, TPoint a, TPoint b) 13 | { 14 | return new TPoint(GlobalMembersInterpolator.tlerp(t, a.mX, b.mX), GlobalMembersInterpolator.tlerp(t, a.mY, b.mY)); 15 | } 16 | 17 | public static SexyColor tlerp(float t, SexyColor a, SexyColor b) 18 | { 19 | return new SexyColor(GlobalMembersInterpolator.tlerp(t, a.mRed, b.mRed), GlobalMembersInterpolator.tlerp(t, a.mGreen, b.mGreen), GlobalMembersInterpolator.tlerp(t, a.mBlue, b.mBlue), GlobalMembersInterpolator.tlerp(t, a.mAlpha, b.mAlpha)); 20 | } 21 | 22 | public static int tlerp(float t, int a, int b) 23 | { 24 | return (int)(a + t * (b - a)); 25 | } 26 | 27 | internal const bool kTween = true; 28 | 29 | internal const bool kNoTween = false; 30 | 31 | internal const bool kEase = true; 32 | 33 | internal const bool kNoEase = false; 34 | } 35 | 36 | internal abstract class Interpolator 37 | { 38 | protected Interpolator() 39 | { 40 | mEaseFuncSet = false; 41 | } 42 | 43 | protected void SetupEaseFunc(TypedKey from, TypedKey to) where T : struct 44 | { 45 | float v = from.ease ? 0f : 1f; 46 | float v2 = to.ease ? 0f : 1f; 47 | mEaseFunc.setup(v, v2, 0.5f, 0.5f); 48 | mEaseFuncSet = true; 49 | } 50 | 51 | protected EaseFunction mEaseFunc = new EaseFunction(); 52 | 53 | protected bool mEaseFuncSet; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/Components/HyperlinkWidget.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Xna.Framework; 3 | 4 | namespace Sexy 5 | { 6 | public/*internal*/ class HyperlinkWidget : ButtonWidget 7 | { 8 | public HyperlinkWidget(int theId, ButtonListener theButtonListener) : base(theId, theButtonListener) 9 | { 10 | mColor = new Color(255, 255, 255); 11 | mOverColor = new Color(255, 255, 255); 12 | mDoFinger = true; 13 | mUnderlineOffset = 3; 14 | mUnderlineSize = 1; 15 | } 16 | 17 | public override void Draw(Graphics g) 18 | { 19 | int theX = (mWidth - mFont.StringWidth(mLabel)) / 2; 20 | int num = (mHeight + mFont.GetAscent()) / 2 - 1; 21 | if (mIsOver) 22 | { 23 | g.SetColor(mOverColor); 24 | } 25 | else 26 | { 27 | g.SetColor(mColor); 28 | } 29 | g.SetFont(mFont); 30 | g.DrawString(mLabel, theX, num); 31 | mUnderlineOffset = (int)(mFont.GetHeight() + Constants.InvertAndScale(3f)); 32 | for (int i = 0; i < mUnderlineSize; i++) 33 | { 34 | g.FillRect(theX, num + mUnderlineOffset + i, mFont.StringWidth(mLabel), 1); 35 | } 36 | } 37 | 38 | public override void MouseEnter() 39 | { 40 | base.MouseEnter(); 41 | MarkDirtyFull(); 42 | } 43 | 44 | public override void MouseLeave() 45 | { 46 | base.MouseLeave(); 47 | MarkDirtyFull(); 48 | } 49 | 50 | public Color mColor = default(Color); 51 | 52 | public Color mOverColor = default(Color); 53 | 54 | public int mUnderlineSize; 55 | 56 | public int mUnderlineOffset; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/Net/CommandGamerJoined.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Microsoft.Xna.Framework.Net 4 | { 5 | internal class CommandGamerJoined : ICommand 6 | { 7 | int gamerInternalIndex = -1; 8 | internal long remoteUniqueIdentifier = -1; 9 | GamerStates states; 10 | string gamerTag = string.Empty; 11 | string displayName = string.Empty; 12 | 13 | public CommandGamerJoined (int internalIndex, bool isHost, bool isLocal) 14 | { 15 | gamerInternalIndex = internalIndex; 16 | 17 | if (isHost) 18 | states = states | GamerStates.Host; 19 | if (isLocal) 20 | states = states | GamerStates.Local; 21 | 22 | } 23 | 24 | public CommandGamerJoined (long uniqueIndentifier) 25 | { 26 | this.remoteUniqueIdentifier = uniqueIndentifier; 27 | 28 | } 29 | 30 | public string DisplayName { 31 | get { 32 | return displayName; 33 | } 34 | set { 35 | displayName = value; 36 | } 37 | } 38 | 39 | public string GamerTag { 40 | get { 41 | return gamerTag; 42 | } 43 | set { 44 | gamerTag = value; 45 | } 46 | } 47 | 48 | public GamerStates State 49 | { 50 | get { return states; } 51 | set { states = value; } 52 | } 53 | 54 | public int InternalIndex 55 | { 56 | get { return gamerInternalIndex; } 57 | } 58 | 59 | public CommandEventType Command { 60 | get { return CommandEventType.GamerJoined; } 61 | } 62 | } 63 | } 64 | 65 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Reanim/ReanimAtlas.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy.TodLib 4 | { 5 | public/*internal*/ class ReanimAtlas 6 | { 7 | public ReanimAtlas() 8 | { 9 | mImageCount = 0; 10 | } 11 | 12 | public void ReanimAtlasCreate(ReanimatorDefinition theReanimDef) 13 | { 14 | } 15 | 16 | public void ReanimAtlasDispose() 17 | { 18 | } 19 | 20 | public void AddImage(Image theImage) 21 | { 22 | } 23 | 24 | public int FindImage(Image theImage) 25 | { 26 | return -1; 27 | } 28 | 29 | public bool ImageFits(int theImageCount, TRect rectTest, int theMaxWidth) 30 | { 31 | return true; 32 | } 33 | 34 | public bool ImageFindPlaceOnSide(ReanimAtlasImage theAtlasImageToPlace, int theImageCount, int theMaxWidth, bool theToRight) 35 | { 36 | return false; 37 | } 38 | 39 | public bool ImageFindPlace(ReanimAtlasImage theAtlasImage, int theImageIndex, int theMaxWidth) 40 | { 41 | return false; 42 | } 43 | 44 | public bool PlaceAtlasImage(ReanimAtlasImage theAtlasImage, int theImageIndex, int theMaxWidth) 45 | { 46 | return true; 47 | } 48 | 49 | public int PickAtlasWidth() 50 | { 51 | return 0; 52 | } 53 | 54 | public void ArrangeImages(ref int theAtlasWidth, ref int theAtlasHeight) 55 | { 56 | } 57 | 58 | public ReanimAtlasImage GetEncodedReanimAtlas(Image theImage) 59 | { 60 | return null; 61 | } 62 | 63 | public ReanimAtlasImage[] mImageArray = new ReanimAtlasImage[64]; 64 | 65 | public int mImageCount; 66 | 67 | public MemoryImage mMemoryImage; 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/PageControl.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public/*internal*/ class PageControl : Widget 6 | { 7 | public PageControl(Image partsImage) 8 | { 9 | mPartsImage = partsImage; 10 | mNumberOfPages = 0; 11 | mCurrentPage = 0; 12 | } 13 | 14 | public override void Dispose() 15 | { 16 | base.Dispose(); 17 | } 18 | 19 | public void SetNumberOfPages(int count) 20 | { 21 | if (count != mNumberOfPages) 22 | { 23 | mNumberOfPages = count; 24 | int theWidth = mPartsImage.GetCelWidth() * count; 25 | int celHeight = mPartsImage.GetCelHeight(); 26 | Resize(mX, mY, theWidth, celHeight); 27 | } 28 | } 29 | 30 | public void SetCurrentPage(int page) 31 | { 32 | mCurrentPage = page; 33 | MarkDirtyFull(); 34 | } 35 | 36 | public int GetCurrentPage() 37 | { 38 | return mCurrentPage; 39 | } 40 | 41 | public new void Draw(Graphics g) 42 | { 43 | int celWidth = mPartsImage.GetCelWidth(); 44 | int celHeight = mPartsImage.GetCelHeight(); 45 | int num = celWidth * mNumberOfPages; 46 | int num2 = (mWidth - num) / 2; 47 | int theY = (mHeight - celHeight) / 2; 48 | for (int i = 0; i < mNumberOfPages; i++) 49 | { 50 | int theCel = (mCurrentPage == i) ? 0 : 1; 51 | g.DrawImageCel(mPartsImage, num2, theY, theCel); 52 | num2 += celWidth; 53 | } 54 | } 55 | 56 | protected Image mPartsImage; 57 | 58 | protected int mNumberOfPages; 59 | 60 | protected int mCurrentPage; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /Lawn_PCGL/Lawn_PCGL.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | Exe 4 | netcoreapp3.1 5 | false 6 | false 7 | 8 | 9 | 0.12.5 10 | alpha 11 | 12 | 13 | app.manifest 14 | Icon.ico 15 | LAWN.PlantsVsZombies 16 | Lawn 17 | Icon.png 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | True 34 | \ 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/ConfirmPurchaseDialog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Sexy; 3 | using Sexy.TodLib; 4 | 5 | namespace Lawn 6 | { 7 | internal class ConfirmPurchaseDialog : LawnDialog 8 | { 9 | public ConfirmPurchaseDialog(LawnApp theApp, StoreItem theItemType, int aQuantity, int aCost, string theDesc) : base(theApp, null, 46, true, "[BUY_ITEM_HEADER]", string.Empty, string.Empty, 1) 10 | { 11 | mItemType = theItemType; 12 | mQuantity = aQuantity; 13 | mCost = aCost; 14 | mDesc = theDesc; 15 | } 16 | 17 | public override int GetPreferredHeight(int theWidth) 18 | { 19 | return (int)Constants.InvertAndScale(400f); 20 | } 21 | 22 | public override void Resize(int theX, int theY, int theWidth, int theHeight) 23 | { 24 | base.Resize(theX, theY, theWidth, theHeight); 25 | } 26 | 27 | public override void Draw(Graphics g) 28 | { 29 | base.Draw(g); 30 | TRect trect = Constants.ConfirmPurchaseDialog_Background; 31 | g.SetColor(new SexyColor(171, 159, 207)); 32 | g.SetColorizeImages(true); 33 | LawnCommon.DrawImageBox(g, trect, AtlasResources.IMAGE_ALMANAC_PAPER); 34 | g.SetColorizeImages(false); 35 | GlobalMembersStoreScreen.DrawStoreItem(g, Constants.ConfirmPurchaseDialog_Item_Pos.X, Constants.ConfirmPurchaseDialog_Item_Pos.Y, mItemType, false, false, mQuantity, mCost); 36 | trect = Constants.ConfirmPurchaseDialog_Text; 37 | TodStringFile.TodDrawStringWrapped(g, mDesc, trect, Resources.FONT_BRIANNETOD12, new SexyColor(40, 50, 90), DrawStringJustification.CenterVerticalMiddle); 38 | } 39 | 40 | public StoreItem mItemType; 41 | 42 | public int mQuantity; 43 | 44 | public int mCost; 45 | 46 | public string mDesc = string.Empty; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Common/CustomContentReader.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Text; 3 | using Microsoft.Xna.Framework.Content; 4 | 5 | namespace Sexy.TodLib 6 | { 7 | internal class CustomContentReader 8 | { 9 | public CustomContentReader(ContentReader reader) 10 | { 11 | buffer = reader.ReadBytes((int)reader.BaseStream.Length); 12 | } 13 | 14 | public int ReadInt32() 15 | { 16 | int result = BitConverter.ToInt32(buffer, index); 17 | index += 4; 18 | return result; 19 | } 20 | 21 | public byte ReadByte() 22 | { 23 | byte result = buffer[index]; 24 | index++; 25 | return result; 26 | } 27 | 28 | public float ReadSingle() 29 | { 30 | float result = BitConverter.ToSingle(buffer, index); 31 | index += 4; 32 | return result; 33 | } 34 | 35 | public bool ReadBoolean() 36 | { 37 | bool result = BitConverter.ToBoolean(buffer, index); 38 | index++; 39 | return result; 40 | } 41 | 42 | public string ReadString() 43 | { 44 | int num = BitConverter.ToInt32(buffer, index); 45 | index += 4; 46 | CustomContentReader.readStringBuilder.Remove(0, CustomContentReader.readStringBuilder.Length); 47 | for (int i = 0; i < num; i++) 48 | { 49 | CustomContentReader.readStringBuilder.Append(BitConverter.ToChar(buffer, index)); 50 | index += 2; 51 | } 52 | if (num == 0) 53 | { 54 | return string.Empty; 55 | } 56 | return CustomContentReader.readStringBuilder.ToString(); 57 | } 58 | 59 | private byte[] buffer; 60 | 61 | private int index; 62 | 63 | private static StringBuilder readStringBuilder = new StringBuilder(30); 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/SeedPacket/SeedType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum SeedType 6 | { 7 | Peashooter, 8 | Sunflower, 9 | Cherrybomb, 10 | Wallnut, 11 | Potatomine, 12 | Snowpea, 13 | Chomper, 14 | Repeater, 15 | Puffshroom, 16 | Sunshroom, 17 | Fumeshroom, 18 | Gravebuster, 19 | Hypnoshroom, 20 | Scaredyshroom, 21 | Iceshroom, 22 | Doomshroom, 23 | Lilypad, 24 | Squash, 25 | Threepeater, 26 | Tanglekelp, 27 | Jalapeno, 28 | Spikeweed, 29 | Torchwood, 30 | Tallnut, 31 | Seashroom, 32 | Plantern, 33 | Cactus, 34 | Blover, 35 | Splitpea, 36 | Starfruit, 37 | Pumpkinshell, 38 | Magnetshroom, 39 | Cabbagepult, 40 | Flowerpot, 41 | Kernelpult, 42 | InstantCoffee, 43 | Garlic, 44 | Umbrella, 45 | Marigold, 46 | Melonpult, 47 | Gatlingpea, 48 | Twinsunflower, 49 | Gloomshroom, 50 | Cattail, 51 | Wintermelon, 52 | GoldMagnet, 53 | Spikerock, 54 | Cobcannon, 55 | Imitater, 56 | ExplodeONut, 57 | GiantWallnut, 58 | Sprout, 59 | Leftpeater, 60 | SeedTypeCount, 61 | BeghouledButtonShuffle, 62 | BeghouledButtonCrater, 63 | SlotMachineSun, 64 | SlotMachineDiamond, 65 | ZombiquariumSnorkel, 66 | ZombiquariumTrophy, 67 | ZombieNormal, 68 | ZombieTrafficCone, 69 | ZombiePolevaulter, 70 | ZombiePail, 71 | ZombieLadder, 72 | ZombieDigger, 73 | ZombieBungee, 74 | ZombieFootball, 75 | ZombieBalloon, 76 | ZombieScreenDoor, 77 | Zomboni, 78 | ZombiePogo, 79 | ZombieDancer, 80 | ZombieGargantuar, 81 | ZombieImp, 82 | SeedsInChooserCount = 49, 83 | None = -1 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Graphics/MemoryImage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Xna.Framework; 3 | using Microsoft.Xna.Framework.Graphics; 4 | 5 | namespace Sexy 6 | { 7 | public/*internal*/ class MemoryImage : Image, IDisposable 8 | { 9 | public RenderTarget2D RenderTarget 10 | { 11 | get 12 | { 13 | return renderTarget; 14 | } 15 | } 16 | 17 | public MemoryImage() 18 | { 19 | renderTarget = null; 20 | mId = 0U; 21 | } 22 | 23 | public void Clear() 24 | { 25 | GlobalStaticVars.g.Clear(new Color(0, 0, 0, 0)); 26 | } 27 | 28 | public override void Dispose() 29 | { 30 | if (renderTarget != null) 31 | { 32 | renderTarget.Dispose(); 33 | } 34 | base.Dispose(); 35 | } 36 | 37 | public void Create(int theWidth, int theHeight) 38 | { 39 | Create(theWidth, theHeight, PixelFormat.kPixelFormat_RGBA8888); 40 | } 41 | 42 | public void Create(int theWidth, int theHeight, PixelFormat thePixelFormat) 43 | { 44 | mId = MemoryImage.nextId++; 45 | mWidth = theWidth; 46 | mParentWidth = theWidth; 47 | mHeight = theHeight; 48 | mParentHeight = theHeight; 49 | int num = mWidth;//GraphicsState.GetClosestPowerOf2Above(this.mWidth); 50 | int num2 = mHeight;//GraphicsState.GetClosestPowerOf2Above(this.mHeight); 51 | //num = Math.Max(16, num); 52 | //num2 = Math.Max(16, num2); 53 | mOwnsTexture = true; 54 | mMaxS = mWidth / (float)num; 55 | mMaxT = mHeight / (float)num2; 56 | renderTarget = new RenderTarget2D(GlobalStaticVars.g.GraphicsDevice, num, num2); 57 | Texture = renderTarget; 58 | } 59 | 60 | private static uint nextId; 61 | 62 | private RenderTarget2D renderTarget; 63 | 64 | private uint mId; 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/LoadingScreen.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Sexy; 3 | using Sexy.TodLib; 4 | 5 | namespace Lawn 6 | { 7 | internal class LoadingScreen : Widget 8 | { 9 | public override void Draw(Graphics g) 10 | { 11 | base.Draw(g); 12 | int num = mWidth / 2; 13 | int num2 = mHeight / 2 - (int)Constants.InvertAndScale(34f); 14 | g.DrawImage(AtlasResources.IMAGE_LOADBAR_DIRT, num, num2 + Constants.InvertAndScale(18f)); 15 | if (mCurBarWidth >= mTotalBarWidth) 16 | { 17 | g.DrawImage(AtlasResources.IMAGE_LOADBAR_GRASS, num, num2); 18 | return; 19 | } 20 | Graphics @new = Graphics.GetNew(g); 21 | @new.ClipRect(num, num2, (int)mCurBarWidth, AtlasResources.IMAGE_LOADBAR_GRASS.mHeight); 22 | @new.DrawImage(AtlasResources.IMAGE_LOADBAR_GRASS, num, num2); 23 | float num3 = mCurBarWidth * 0.94f; 24 | float rad = -num3 / 180f * 3.1415927f * 2f; 25 | float num4 = TodCommon.TodAnimateCurveFloatTime(0f, mTotalBarWidth, mCurBarWidth, 1f, 0.5f, TodCurves.Linear); 26 | SexyTransform2D sexyTransform2D = default(SexyTransform2D); 27 | TodCommon.TodScaleRotateTransformMatrix(ref sexyTransform2D.mMatrix, num + Constants.InvertAndScale(11f) + num3, num2 - Constants.InvertAndScale(3f) - Constants.InvertAndScale(35f) * num4 + Constants.InvertAndScale(35f), rad, num4, num4); 28 | TRect theSrcRect = new TRect(0, 0, AtlasResources.IMAGE_REANIM_LOAD_SODROLLCAP.mWidth, AtlasResources.IMAGE_REANIM_LOAD_SODROLLCAP.mHeight); 29 | TodCommon.TodBltMatrix(g, AtlasResources.IMAGE_REANIM_LOAD_SODROLLCAP, sexyTransform2D.mMatrix, ref g.mClipRect, SexyColor.White, g.mDrawMode, theSrcRect); 30 | @new.PrepareForReuse(); 31 | } 32 | 33 | private float mCurBarWidth; 34 | 35 | private float mTotalBarWidth; 36 | 37 | public static bool IsLoading; 38 | 39 | public static LoadingScreen gLoadingScreen = new LoadingScreen(); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Widget/Components/Dialogs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | public enum Dialogs 6 | { 7 | DIALOG_NEW_GAME, 8 | DIALOG_OPTIONS, 9 | DIALOG_NEWOPTIONS, 10 | DIALOG_ALMANAC, 11 | DIALOG_STORE, 12 | DIALOG_PREGAME_NAG, 13 | DIALOG_LOAD_GAME, 14 | DIALOG_CONFIRM_UPDATE_CHECK, 15 | DIALOG_CHECKING_UPDATES, 16 | DIALOG_REGISTER_ERROR, 17 | DIALOG_COLORDEPTH_EXP, 18 | DIALOG_OPENURL_WAIT, 19 | DIALOG_OPENURL_FAIL, 20 | DIALOG_QUIT, 21 | DIALOG_HIGH_SCORES, 22 | DIALOG_NAG, 23 | DIALOG_INFO, 24 | DIALOG_GAME_OVER, 25 | DIALOG_LEVEL_COMPLETE, 26 | DIALOG_PAUSED, 27 | DIALOG_NO_MORE_MONEY, 28 | DIALOG_BONUS, 29 | DIALOG_CONFIRM_BACK_TO_MAIN, 30 | DIALOG_CONFIRM_IN_GAME_RESTART, 31 | DIALOG_THANKS_FOR_REGISTERING, 32 | DIALOG_NOT_ENOUGH_MONEY, 33 | DIALOG_UPGRADED, 34 | DIALOG_NO_UPGRADE, 35 | DIALOG_CHOOSER_WARNING, 36 | DIALOG_USERDIALOG, 37 | DIALOG_CREATEUSER, 38 | DIALOG_CONFIRMDELETEUSER, 39 | DIALOG_RENAMEUSER, 40 | DIALOG_CREATEUSERERROR, 41 | DIALOG_RENAMEUSERERROR, 42 | DIALOG_CHEAT, 43 | DIALOG_CHEATERROR, 44 | DIALOG_CONTINUE, 45 | DIALOG_GETREADY, 46 | DIALOG_RESTARTCONFIRM, 47 | DIALOG_CONFIRMPURCHASE, 48 | DIALOG_CONFIRMSELL, 49 | DIALOG_TIMESUP, 50 | DIALOG_VIRTUALHELP, 51 | DIALOG_JUMPAHEAD, 52 | DIALOG_CRAZY_DAVE, 53 | DIALOG_STORE_PURCHASE, 54 | DIALOG_VISIT_TREE_OF_WISDOM, 55 | DIALOG_ZEN_SELL, 56 | DIALOG_MESSAGE, 57 | DIALOG_IMITATER, 58 | DIALOG_PURCHASE_PACKET_SLOT, 59 | DIALOG_ABOUT, 60 | RESTART_WARNING, 61 | DIALOG_UPSELL, 62 | DIALOG_ACHIEVEMENT_LOCKED, 63 | DIALOG_UPDATE_NOW, 64 | DIALOG_MORE_GAMES, 65 | DIALOG_SKIP_TUTORIAL, 66 | DIALOG_LEADERBOARD, 67 | NUM_DIALOGS 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy.TodLib/Trail/TrailReader.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Xna.Framework.Content; 3 | 4 | namespace Sexy.TodLib 5 | { 6 | internal class TrailReader : ContentTypeReader 7 | { 8 | protected override TrailDefinition Read(ContentReader input, TrailDefinition value) 9 | { 10 | TrailDefinition trailDefinition = new TrailDefinition(); 11 | trailDefinition.mImageName = input.ReadString(); 12 | trailDefinition.mMaxPoints = input.ReadInt32(); 13 | trailDefinition.mMinPointDistance = (float)input.ReadDouble(); 14 | trailDefinition.mTrailFlags = input.ReadInt32(); 15 | ReadFloatParameterTrack(ref input, out trailDefinition.mTrailDuration); 16 | ReadFloatParameterTrack(ref input, out trailDefinition.mWidthOverLength); 17 | ReadFloatParameterTrack(ref input, out trailDefinition.mWidthOverTime); 18 | ReadFloatParameterTrack(ref input, out trailDefinition.mAlphaOverLength); 19 | ReadFloatParameterTrack(ref input, out trailDefinition.mAlphaOverTime); 20 | return trailDefinition; 21 | } 22 | 23 | private void ReadFloatParameterTrack(ref ContentReader input, out FloatParameterTrack value) 24 | { 25 | value = new FloatParameterTrack(); 26 | value.mCountNodes = input.ReadInt32(); 27 | value.mNodes = new FloatParameterTrackNode[value.mCountNodes]; 28 | for (int i = 0; i < value.mCountNodes; i++) 29 | { 30 | FloatParameterTrackNode floatParameterTrackNode = new FloatParameterTrackNode(); 31 | floatParameterTrackNode.mCurveType = (TodCurves)input.ReadInt32(); 32 | floatParameterTrackNode.mDistribution = (TodCurves)input.ReadInt32(); 33 | floatParameterTrackNode.mHighValue = (float)input.ReadDouble(); 34 | floatParameterTrackNode.mLowValue = (float)input.ReadDouble(); 35 | floatParameterTrackNode.mTime = (float)input.ReadDouble(); 36 | value.mNodes[i] = floatParameterTrackNode; 37 | } 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/System/Flags.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | internal static class GlobalMembersFlags 6 | { 7 | public static void ModFlags(ref int theFlags, FlagsMod theFlagMod) 8 | { 9 | theFlags = ((theFlags | theFlagMod.mAddFlags) & ~theFlagMod.mRemoveFlags); 10 | } 11 | 12 | public static int GetModFlags(int theFlags, FlagsMod theFlagMod) 13 | { 14 | return (theFlags | theFlagMod.mAddFlags) & ~theFlagMod.mRemoveFlags; 15 | } 16 | } 17 | 18 | public struct FlagsMod 19 | { 20 | public void CopyFrom(FlagsMod source) 21 | { 22 | mAddFlags = source.mAddFlags; 23 | mRemoveFlags = source.mRemoveFlags; 24 | } 25 | 26 | public int mAddFlags; 27 | 28 | public int mRemoveFlags; 29 | } 30 | 31 | public struct ModalFlags 32 | { 33 | public void ModFlags(ref FlagsMod theFlagsMod) 34 | { 35 | GlobalMembersFlags.ModFlags(ref mOverFlags, theFlagsMod); 36 | GlobalMembersFlags.ModFlags(ref mUnderFlags, theFlagsMod); 37 | } 38 | 39 | public int GetFlags() 40 | { 41 | if (!mIsOver) 42 | { 43 | return mUnderFlags; 44 | } 45 | return mOverFlags; 46 | } 47 | 48 | public int mOverFlags; 49 | 50 | public int mUnderFlags; 51 | 52 | public bool mIsOver; 53 | } 54 | 55 | public struct AutoModalFlags 56 | { 57 | public AutoModalFlags(ModalFlags theModalFlags, FlagsMod theFlagMod) 58 | { 59 | mModalFlags = theModalFlags; 60 | mOldOverFlags = theModalFlags.mOverFlags; 61 | mOldUnderFlags = theModalFlags.mUnderFlags; 62 | theModalFlags.ModFlags(ref theFlagMod); 63 | } 64 | 65 | public void Dispose() 66 | { 67 | mModalFlags.mOverFlags = mOldOverFlags; 68 | mModalFlags.mUnderFlags = mOldUnderFlags; 69 | } 70 | 71 | public ModalFlags mModalFlags; 72 | 73 | public int mOldOverFlags; 74 | 75 | public int mOldUnderFlags; 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Input/KeyInterpolator/KeyInterpolator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Sexy 4 | { 5 | internal abstract class KeyInterpolator : Interpolator where T : struct 6 | { 7 | public abstract void PrepareForReuse(); 8 | 9 | protected virtual void Reset() 10 | { 11 | mKeys.Clear(); 12 | mKey = 0; 13 | } 14 | 15 | public KeyInterpolator CopyFrom(KeyInterpolator rhs) 16 | { 17 | mKeys.Clear(); 18 | foreach (TypedKey item in rhs.mKeys) 19 | { 20 | mKeys.Add(item); 21 | } 22 | mKey = mKeys.GetLastKey(); 23 | return this; 24 | } 25 | 26 | public abstract T Tick(float tick); 27 | 28 | protected abstract T GetLerpResult(float f, T a, T b); 29 | 30 | public void Clear() 31 | { 32 | mKeys.Clear(); 33 | mKey = 0; 34 | } 35 | 36 | public bool Empty() 37 | { 38 | return mKeys.Count == 0; 39 | } 40 | 41 | public void SetKey(int tick, T value, bool ease, bool tween) 42 | { 43 | TypedKey item = default(TypedKey); 44 | item.tick = tick; 45 | item.value = value; 46 | item.ease = ease; 47 | item.tween = tween; 48 | item.KeyIdentifier = tick; 49 | if (mKeys.Contains(item.KeyIdentifier)) 50 | { 51 | mKeys.Remove(item.KeyIdentifier); 52 | } 53 | mKeys.Add(item); 54 | mKey = tick; 55 | } 56 | 57 | public int FirstTick() 58 | { 59 | if (mKeys.empty()) 60 | { 61 | return 0; 62 | } 63 | return mKeys.GetFirstKey(); 64 | } 65 | 66 | public int LastTick() 67 | { 68 | if (mKeys.empty()) 69 | { 70 | return 0; 71 | } 72 | return mKeys.GetLastKey(); 73 | } 74 | 75 | protected MyTypedKeyCollection mKeys = new MyTypedKeyCollection(); 76 | 77 | protected int mKey; 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /Lawn_Android/Resources/Resource.Designer.cs: -------------------------------------------------------------------------------- 1 | #pragma warning disable 1591 2 | //------------------------------------------------------------------------------ 3 | // 4 | // This code was generated by a tool. 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | [assembly: global::Android.Runtime.ResourceDesignerAttribute("Lawn_Android.Resource", IsApplication=true)] 12 | 13 | namespace Lawn_Android 14 | { 15 | 16 | 17 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "12.2.0.155")] 18 | public partial class Resource 19 | { 20 | 21 | static Resource() 22 | { 23 | global::Android.Runtime.ResourceIdManager.UpdateIdValues(); 24 | } 25 | 26 | public static void UpdateIdValues() 27 | { 28 | } 29 | 30 | public partial class Attribute 31 | { 32 | 33 | static Attribute() 34 | { 35 | global::Android.Runtime.ResourceIdManager.UpdateIdValues(); 36 | } 37 | 38 | private Attribute() 39 | { 40 | } 41 | } 42 | 43 | public partial class Drawable 44 | { 45 | 46 | // aapt resource value: 0x7F010000 47 | public const int Icon = 2130771968; 48 | 49 | static Drawable() 50 | { 51 | global::Android.Runtime.ResourceIdManager.UpdateIdValues(); 52 | } 53 | 54 | private Drawable() 55 | { 56 | } 57 | } 58 | 59 | public partial class String 60 | { 61 | 62 | // aapt resource value: 0x7F020000 63 | public const int app_name = 2130837504; 64 | 65 | static String() 66 | { 67 | global::Android.Runtime.ResourceIdManager.UpdateIdValues(); 68 | } 69 | 70 | private String() 71 | { 72 | } 73 | } 74 | 75 | public partial class Xml 76 | { 77 | 78 | // aapt resource value: 0x7F030000 79 | public const int network_security_config = 2130903040; 80 | 81 | static Xml() 82 | { 83 | global::Android.Runtime.ResourceIdManager.UpdateIdValues(); 84 | } 85 | 86 | private Xml() 87 | { 88 | } 89 | } 90 | } 91 | } 92 | #pragma warning restore 1591 93 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/Widget/Basic/LawnStoneButton.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Xna.Framework; 3 | using Sexy; 4 | using Sexy.TodLib; 5 | 6 | namespace Lawn 7 | { 8 | public/*internal*/ class LawnStoneButton : DialogButton 9 | { 10 | public LawnStoneButton(Image theComponentImage, int theId, ButtonListener theListener) : base(theComponentImage, theId, theListener) 11 | { 12 | mFont = Resources.FONT_DWARVENTODCRAFT15; 13 | } 14 | 15 | public override void Draw(Graphics g) 16 | { 17 | if (mBtnNoDraw) 18 | { 19 | return; 20 | } 21 | bool flag = mIsDown && mIsOver && !mDisabled; 22 | flag ^= mInverted; 23 | GameButton.DrawStoneButton(g, 0, 0, mWidth, mHeight, flag, mIsOver, mLabel, mFont, mFontScale); 24 | } 25 | 26 | public override void Resize(int theX, int theY, int theWidth, int theHeight) 27 | { 28 | base.Resize(theX, theY, theWidth, theHeight); 29 | CalculateTextScale(); 30 | } 31 | 32 | public override void Resize(TRect theRect) 33 | { 34 | base.Resize(theRect); 35 | CalculateTextScale(); 36 | } 37 | 38 | private void CalculateTextScale() 39 | { 40 | mFontScale = 1f; 41 | if (mFont != null) 42 | { 43 | Vector2 vector = mFont.MeasureString(mLabel); 44 | int num = (int)(mWidth - Constants.S * 30f); 45 | if (vector.X > num) 46 | { 47 | mFontScale = num / vector.X; 48 | } 49 | } 50 | } 51 | 52 | public void SetLabel(string theLabel) 53 | { 54 | mLabel = TodStringFile.TodStringTranslate(theLabel); 55 | } 56 | 57 | public override string mLabel 58 | { 59 | get 60 | { 61 | return base.mLabel; 62 | } 63 | set 64 | { 65 | base.mLabel = value; 66 | CalculateTextScale(); 67 | } 68 | } 69 | 70 | private float mFontScale = 1f; 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/System/SexyProfiler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Sexy 5 | { 6 | internal class Profile 7 | { 8 | public string mSectionName; 9 | 10 | public int mStart; 11 | 12 | public int mEnd; 13 | } 14 | 15 | internal class SexyProfiler 16 | { 17 | public SexyProfiler() 18 | { 19 | mActive = false; 20 | mProfiles = new List(); 21 | } 22 | 23 | public void Active(bool active) 24 | { 25 | mActive = active; 26 | } 27 | 28 | public void StartFrame() 29 | { 30 | mProfiles.Clear(); 31 | } 32 | 33 | public void StartProfile(string name) 34 | { 35 | if (!mActive) 36 | { 37 | return; 38 | } 39 | Profile profile = new Profile(); 40 | profile.mSectionName = name; 41 | profile.mStart = GetCurrentTime(); 42 | mProfiles.Add(profile); 43 | } 44 | 45 | public void EndProfile(string name) 46 | { 47 | if (!mActive) 48 | { 49 | return; 50 | } 51 | for (int i = 0; i < mProfiles.Count; i++) 52 | { 53 | if (mProfiles[i].mSectionName == name) 54 | { 55 | mProfiles[i].mEnd = GetCurrentTime(); 56 | return; 57 | } 58 | } 59 | } 60 | 61 | public int GetCurrentTime() 62 | { 63 | return Environment.TickCount; 64 | } 65 | 66 | public void PrintProfiles() 67 | { 68 | if (!mActive) 69 | { 70 | return; 71 | } 72 | for (int i = 0; i < mProfiles.Count; i++) 73 | { 74 | int num = mProfiles[i].mEnd - mProfiles[i].mStart; 75 | Debug.OutputDebug("Section Name: " + mProfiles[i].mSectionName + "\n\tTotal Time(ms): " + num.ToString()); 76 | } 77 | } 78 | 79 | private List mProfiles; 80 | 81 | private bool mActive; 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /MonoGame.Framework.Net/GamerServices/LeaderboardReader.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Microsoft.Xna.Framework.GamerServices 5 | { 6 | public sealed class LeaderboardReader : IDisposable 7 | { 8 | public LeaderboardReader () 9 | { 10 | } 11 | 12 | 13 | public IAsyncResult BeginPageDown(AsyncCallback aAsyncCallback, object aAsyncState) 14 | { 15 | throw new NotImplementedException (); 16 | } 17 | 18 | public IAsyncResult BeginPageUp(AsyncCallback aAsyncCallback, object aAsyncState) 19 | { 20 | throw new NotImplementedException (); 21 | } 22 | 23 | public LeaderboardReader EndPageDown(IAsyncResult result) 24 | { 25 | throw new NotImplementedException (); 26 | } 27 | 28 | public LeaderboardReader EndPageUp(IAsyncResult result) 29 | { 30 | throw new NotImplementedException (); 31 | } 32 | 33 | public static void BeginRead (LeaderboardIdentity id, SignedInGamer gamer, int leaderboardPageSize, AsyncCallback leaderboardReadCallback, SignedInGamer gamer2) 34 | { 35 | throw new NotImplementedException (); 36 | } 37 | 38 | public static LeaderboardReader EndRead(IAsyncResult result) 39 | { 40 | throw new NotImplementedException (); 41 | } 42 | 43 | public void PageDown() 44 | { 45 | throw new NotImplementedException (); 46 | } 47 | 48 | public void PageUp() 49 | { 50 | throw new NotImplementedException (); 51 | } 52 | 53 | 54 | 55 | public bool CanPageDown { 56 | get; 57 | set; 58 | } 59 | 60 | public bool CanPageUp { 61 | get; 62 | set; 63 | } 64 | 65 | public List Entries { 66 | get; 67 | set; 68 | } 69 | 70 | public int TotalLeaderboardSize = 0; 71 | public int PageStart = 0; 72 | 73 | #region IDisposable implementation 74 | 75 | public void Dispose () 76 | { 77 | throw new NotImplementedException (); 78 | } 79 | 80 | #endregion 81 | } 82 | } 83 | 84 | -------------------------------------------------------------------------------- /Lawn_Shared/Lawn/System/AdviceType.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Lawn 4 | { 5 | public enum AdviceType 6 | { 7 | None = -1, 8 | ClickOnSun, 9 | ClickedOnSun, 10 | ClickedOnCoin, 11 | SeedRefresh, 12 | CantAffordPlant, 13 | PlantGravebustersOnGraves, 14 | PlantLilypadOnWater, 15 | PlantTanglekelpOnWater, 16 | PlantSeashroomOnWater, 17 | PlantPotatoMineOnLily, 18 | PlantWrongArtType, 19 | PlantNeedPot, 20 | PlantNotOnGrave, 21 | PlantNotOnCrater, 22 | CantPlantThere, 23 | PlantNotOnWater, 24 | PlantingNeedsGround, 25 | BeghouledDragToMatch3, 26 | BeghouledMatch3, 27 | BeghouledMatch4, 28 | BeghouledSaveSun, 29 | BeghouledUseCrater1, 30 | BeghouledUseCrater2, 31 | PlantNotPassedLine, 32 | PlantOnlyOnRepeaters, 33 | PlantOnlyOnMelonpult, 34 | PlantOnlyOnSunflower, 35 | PlantOnlyOnSpikeweed, 36 | PlantOnlyOnKernelpult, 37 | PlantOnlyOnMagnetshroom, 38 | PlantOnlyOnFumeshroom, 39 | PlantOnlyOnLilypad, 40 | PlantNeedsRepeater, 41 | PlantNeedsMelonpult, 42 | PlantNeedsSunflower, 43 | PlantNeedsSpikeweed, 44 | PlantNeedsKernelpult, 45 | PlantNeedsMagnetshroom, 46 | PlantNeedsFumeshroom, 47 | PlantNeedsLilypad, 48 | SlotMachinePull, 49 | HugeWave, 50 | ShovelRefresh, 51 | PortalRelocating, 52 | SlotMachineCollectSun, 53 | DestroyPotsToFinisihLevel, 54 | UseShovelOnPots, 55 | AlmostThere, 56 | ZombiquariumClickTrophy, 57 | ZombiquariumCollectSun, 58 | ZombiquariumClickToFeed, 59 | ZombiquariumBuySnorkel, 60 | IZombiePlantsNotReal, 61 | IZombieNotPassedLine, 62 | IZombieLeftOfLine, 63 | SlotMachineSpinAgain, 64 | IZombieEatAllBrains, 65 | PeashooterDied, 66 | StinkySleeping, 67 | BeghouledNoMoves, 68 | PlantSunflower5, 69 | PlantingNeedSleeping, 70 | ClickToContinue, 71 | SurviveFlags, 72 | UnlockedMode, 73 | NeedWheelbarrow, 74 | AchievementEarned, 75 | AdviceTypeCount 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/System/ReusableObject/ReusableObjectHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Sexy 5 | { 6 | internal class ReusableObjectHelperCommon where T : IReusable 7 | { 8 | protected ReusableObjectHelperCommon() { } 9 | 10 | public static T GetNewNullable() 11 | { 12 | if (unusedInstances.Count != 0) 13 | { 14 | T obj = unusedInstances.Pop(); 15 | singleton.ResetOnGet(obj); // @1: Moved obj.Reset() from PushOnToReuseStack() 16 | return obj; 17 | } 18 | if (default(T) != null) 19 | { 20 | return default(T); 21 | } 22 | else 23 | return default(T); //Activator.CreateInstance(); Use "null" as hinting for ctor calling 24 | } 25 | 26 | public static void PushOnToReuseStack(T obj) 27 | { 28 | singleton.ResetOnPush(obj); 29 | unusedInstances.Push(obj); 30 | } 31 | 32 | public virtual void ResetOnGet(T obj) { } 33 | 34 | public virtual void ResetOnPush(T obj) { } 35 | 36 | public static void Initialize(int count) 37 | { 38 | unusedInstances = new Stack(count); 39 | singleton = new ReusableObjectHelperCommon(); 40 | } 41 | 42 | public static void Initialize() 43 | { 44 | unusedInstances = new Stack(); 45 | singleton = new ReusableObjectHelperCommon(); 46 | } 47 | 48 | public static void Dispose() 49 | { 50 | unusedInstances = null; 51 | } 52 | 53 | protected static Stack unusedInstances; 54 | 55 | protected static ReusableObjectHelperCommon singleton; 56 | } 57 | 58 | internal class ReusableObjectHelper: ReusableObjectHelperCommon where T : IReusable 59 | { 60 | public override void ResetOnPush(T obj) 61 | { 62 | obj.Reset(); 63 | } 64 | } 65 | 66 | internal class LazyReusableObjectHelper: ReusableObjectHelperCommon where T : IReusable//, new() 67 | { 68 | public override void ResetOnGet(T obj) 69 | { 70 | obj.Reset(); 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /Lawn_PCDX/Lawn_PCDX.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | Exe 4 | netcoreapp3.1 5 | false 6 | false 7 | true 8 | 9 | 10 | 0.12.5 11 | alpha 12 | 13 | 14 | app.manifest 15 | Icon.ico 16 | LAWN 17 | LAWN.PlantsVsZombies 18 | 0.12.5 19 | True 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | ..\Lawn_Android\Libs\MonoMod.RuntimeDetour.dll 37 | 38 | 39 | ..\Lawn_Android\Libs\MonoMod.Utils.dll 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/Input/MyTypedKeyCollection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Collections.ObjectModel; 4 | 5 | namespace Sexy 6 | { 7 | internal class MyTypedKeyCollection : KeyedCollection> where T : struct 8 | { 9 | public void Add(TypedKey item) 10 | { 11 | base.Add(item); 12 | keys.Add(GetKeyForItem(item)); 13 | keys.Sort(); 14 | } 15 | 16 | public void Clear() 17 | { 18 | base.Clear(); 19 | keys.Clear(); 20 | } 21 | 22 | protected override int GetKeyForItem(TypedKey item) 23 | { 24 | return item.KeyIdentifier; 25 | } 26 | 27 | protected override void SetItem(int index, TypedKey item) 28 | { 29 | item.KeyIdentifier = index; 30 | base.SetItem(index, item); 31 | } 32 | 33 | public int GetKeyAfter(int key) 34 | { 35 | int num = GetLastKey(); 36 | foreach (int num2 in keys) 37 | { 38 | if (base[num2].tick > key && base[num2].tick < num) 39 | { 40 | num = base[num2].tick; 41 | break; 42 | } 43 | } 44 | return num; 45 | } 46 | 47 | public int GetKeyBefore(int key) 48 | { 49 | int num = GetFirstKey(); 50 | foreach (int num2 in keys) 51 | { 52 | if (base[num2].tick < key && base[num2].tick > num) 53 | { 54 | num = base[num2].tick; 55 | } 56 | else if (base[num2].tick >= key) 57 | { 58 | break; 59 | } 60 | } 61 | return num; 62 | } 63 | 64 | public int GetFirstKey() 65 | { 66 | if (keys.Count > 0) 67 | { 68 | return keys[0]; 69 | } 70 | return 0; 71 | } 72 | 73 | public int GetLastKey() 74 | { 75 | return keys[keys.Count - 1]; 76 | } 77 | 78 | public bool empty() 79 | { 80 | return base.Count == 0; 81 | } 82 | 83 | private List keys = new List(50); 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /Lawn_Shared/Sexy/System/CGMaths.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Xna.Framework; 3 | 4 | namespace Sexy 5 | { 6 | internal static class CGMaths 7 | { 8 | public static CGPoint CGPointAddScaled(CGPoint augend, CGPoint addend, float factor) 9 | { 10 | return new CGPoint 11 | { 12 | X = augend.X + addend.X * factor, 13 | Y = augend.Y + addend.Y * factor 14 | }; 15 | } 16 | 17 | internal static CGPoint CGPointMultiply(CGPoint multiplicand, CGPoint multiplier) 18 | { 19 | return new CGPoint 20 | { 21 | X = multiplicand.X * multiplier.X, 22 | Y = multiplicand.Y * multiplier.Y 23 | }; 24 | } 25 | 26 | internal static CGPoint CGPointSubtract(CGPoint minuend, CGPoint subtrahend) 27 | { 28 | return new CGPoint 29 | { 30 | X = minuend.X - subtrahend.X, 31 | Y = minuend.Y - subtrahend.Y 32 | }; 33 | } 34 | 35 | internal static CGPoint CGPointSubtract(TPoint minuend, TPoint subtrahend) 36 | { 37 | return new CGPoint 38 | { 39 | X = minuend.x - subtrahend.x, 40 | Y = minuend.y - subtrahend.y 41 | }; 42 | } 43 | 44 | internal static float CGVectorNorm(CGPoint v) 45 | { 46 | return v.X * v.X + v.Y * v.Y; 47 | } 48 | 49 | internal static CGPoint CGPointMake(float x, float y) 50 | { 51 | return new CGPoint(x, y); 52 | } 53 | 54 | internal static void CGPointTranslate(ref CGPoint point, float tx, float ty) 55 | { 56 | point.X += tx; 57 | point.Y += ty; 58 | } 59 | 60 | internal static void CGPointTranslate(ref CGPoint point, int tx, int ty) 61 | { 62 | point.X += tx; 63 | point.Y += ty; 64 | } 65 | 66 | internal static void CGPointTranslate(ref Point point, int tx, int ty) 67 | { 68 | point.X += tx; 69 | point.Y += ty; 70 | } 71 | 72 | internal static void CGPointTranslate(ref Point point, float tx, float ty) 73 | { 74 | point.X += (int)tx; 75 | point.Y += (int)ty; 76 | } 77 | } 78 | } 79 | --------------------------------------------------------------------------------