public BonbonPickup() { BodyComponent = new BodyComponent(this) { InitMode = BodyComponentInitMode.Manual, }; BodyComponent.BeforeInitialize += () => { }; this.RootComponent = BodyComponent; Animation = new SpriteAnimationComponent(this) { AnimationTypes = new List <SpriteAnimationType>(), }; Animation.AttachTo(RootComponent); MoneyBag = new MoneyBagComponent(this) { InitialAmount = 10, }; Homing = GameObjectFactory.CreateDefaultHomingCircle(this, BodyComponent, sensorRadius: 1.0f, homingType: HomingType.ConstantSpeed, homingSpeed: 3.0f); Pickup = new PickupComponent(this) { BodyComponent = BodyComponent, }; }
public SpikeTrap() { FixedOrigin = new SpatialComponent(this); TargetSensor = new TargetSensorComponent(this) { SensorType = TargetSensorType.Rectangle, TargetCollisionCategories = CollisionCategory.Friendly, }; TargetSensor.AttachTo(FixedOrigin); MovingBodyComponent = new BodyComponent(this) { InitMode = BodyComponentInitMode.Manual, }; RootComponent = MovingBodyComponent; Animation = new SpriteAnimationComponent(this) { AnimationTypes = new List <SpriteAnimationType> { SpriteAnimationType.Shopkeeper_Idle_Front }, }; Animation.AttachTo(this); }
public Shop() { BodyComponent = new BodyComponent(this) { InitMode = BodyComponentInitMode.Manual, }; RootComponent = BodyComponent; ShopAnimation = new SpriteAnimationComponent(this) { AnimationTypes = new List <SpriteAnimationType> { SpriteAnimationType.Shop, }, }; ShopAnimation.AttachTo(BodyComponent); ShopkeeperAnimation = new SpriteAnimationComponent(this) { AnimationTypes = new List <SpriteAnimationType> { SpriteAnimationType.Shopkeeper_Idle_Front, }, }; ShopkeeperAnimation.Spatial.Position.Y -= Conversion.ToMeters(100); ShopkeeperAnimation.AttachTo(ShopAnimation); }
public KeyPickup() { BodyComponent = new BodyComponent(this) { InitMode = BodyComponentInitMode.Manual, }; this.RootComponent = BodyComponent; Animation = new SpriteAnimationComponent(this) { AnimationTypes = new List <SpriteAnimationType>(), }; Animation.AttachTo(RootComponent); KeyRing = new KeyRingComponent(this); Pickup = new PickupComponent(this) { BodyComponent = BodyComponent, }; Homing = GameObjectFactory.CreateDefaultHomingCircle(this, BodyComponent, sensorRadius: 1.0f, homingType: HomingType.ConstantSpeed, homingSpeed: 3.0f); }
public Flora() { Animation = new SpriteAnimationComponent(this) { AnimationTypes = new List <SpriteAnimationType>(), DepthReference = null, // Don't determine depth automatically }; Animation.AttachTo(this); }
public Owliver() { BodyComponent = new BodyComponent(this) { InitMode = BodyComponentInitMode.Manual, }; RootComponent = BodyComponent; Movement = new MovementComponent(this) { BodyComponent = BodyComponent, ManualInputProcessing = true, MaxMovementSpeed = 3.5f, }; Animation = new SpriteAnimationComponent(this) { AnimationTypes = new List <SpriteAnimationType> { SpriteAnimationType.Owliver_Idle_Stick_Left, SpriteAnimationType.Owliver_Idle_Stick_Right, SpriteAnimationType.Owliver_Walk_Stick_Left, SpriteAnimationType.Owliver_Walk_Stick_Right, SpriteAnimationType.Owliver_Attack_Stick_Left, SpriteAnimationType.Owliver_Attack_Stick_Right, SpriteAnimationType.Owliver_Idle_FishingRod_Left, SpriteAnimationType.Owliver_Idle_FishingRod_Right, SpriteAnimationType.Owliver_Walk_FishingRod_Left, SpriteAnimationType.Owliver_Walk_FishingRod_Right, SpriteAnimationType.Owliver_Attack_FishingRod_Left, SpriteAnimationType.Owliver_Attack_FishingRod_Right, }, }; Animation.AttachTo(BodyComponent); Health = new HealthComponent(this) { MaxHealth = 5, }; Health.OnHit += OnHit; GameObjectFactory.CreateOnHitSquasher(this, Health, Animation).SetDefaultCurves(HitDuration); GameObjectFactory.CreateOnHitBlinkingSequence(this, Health, Animation).SetDefaultCurves(HitDuration); MoneyBag = new MoneyBagComponent(this) { InitialAmount = 0, }; KeyRing = new KeyRingComponent(this); }
public Projectile() { BodyComponent = new BodyComponent(this) { InitMode = BodyComponentInitMode.Manual, }; this.RootComponent = BodyComponent; Animation = new SpriteAnimationComponent(this) { AnimationTypes = new List <SpriteAnimationType> { SpriteAnimationType.Bonbon_Red, }, }; Animation.Spatial.Rotation.Degrees -= 40.0f; Animation.AttachTo(BodyComponent); AutoDestruct = new AutoDestructComponent(this); }
public Tankton() { BodyComponent = new BodyComponent(this) { InitMode = BodyComponentInitMode.Manual, }; RootComponent = BodyComponent; Animation = new SpriteAnimationComponent(this) { AnimationTypes = new List <SpriteAnimationType> { SpriteAnimationType.Tankton_Idle_Left, SpriteAnimationType.Tankton_Idle_Right, }, }; Animation.Spatial.Position.Y += Conversion.ToMeters(100); Animation.AttachTo(BodyComponent); Health = new HealthComponent(this) { MaxHealth = 20, }; Health.OnHit += OnHit; Health.OnDeath += OnDeath; HealthDisplay = new HealthDisplayComponent(this) { Health = Health, HealthIcon = SpriteAnimationFactory.CreateAnimationInstance(SpriteAnimationType.Cross), InitialDisplayOrigin = HealthDisplayComponent.DisplayOrigin.Bottom, NumIconsPerRow = 5, }; HealthDisplay.AttachTo(Animation); GameObjectFactory.CreateOnHitSquasher(this, Health, Animation).SetDefaultCurves( duration: HitDuration, extremeScale: new Vector2(0.9f, 1.1f)); GameObjectFactory.CreateOnHitBlinkingSequence(this, Health, Animation).SetDefaultCurves(HitDuration); }
public Slurp() { BodyComponent = new BodyComponent(this) { InitMode = BodyComponentInitMode.Manual, }; RootComponent = BodyComponent; Animation = new SpriteAnimationComponent(this) { AnimationTypes = new List <SpriteAnimationType> { SpriteAnimationType.Slurp_Idle_Left, SpriteAnimationType.Slurp_Idle_Right, }, }; Animation.AttachTo(BodyComponent); Health = GameObjectFactory.CreateDefaultHealth(this, maxHealth: 3, hitDuration: HitDuration, deathParticleTimeToLive: TimeSpan.FromSeconds(1)); HealthDisplay = new HealthDisplayComponent(this) { Health = Health, InitialDisplayOrigin = HealthDisplayComponent.DisplayOrigin.Bottom, HealthIcon = SpriteAnimationFactory.CreateAnimationInstance(SpriteAnimationType.Cross), }; HealthDisplay.AttachTo(Animation); GameObjectFactory.CreateOnHitSquasher(this, Health, Animation).SetDefaultCurves(HitDuration); GameObjectFactory.CreateOnHitBlinkingSequence(this, Health, Animation).SetDefaultCurves(HitDuration); Homing = GameObjectFactory.CreateDefaultHomingCircle(this, BodyComponent, sensorRadius: 3.0f, homingType: HomingType.ConstantSpeed, homingSpeed: 0.5f); }
public Gate() { LeftEdgeOffset = new SpatialComponent(this); { SpriteAnimationData anim = SpriteAnimationFactory.GetAnimation(SpriteAnimationType.Gate_Closed); Vector2 hotspot = anim.Config.Hotspot * anim.Config.Scale; float offset = Conversion.ToMeters(hotspot.X - 128); LeftEdgeOffset.Spatial.Position.X -= offset; } LeftEdgeOffset.AttachTo(this); InnerBodyComponent = new BodyComponent(this) { InitMode = BodyComponentInitMode.Manual, }; InnerBodyComponent.AttachTo(LeftEdgeOffset); OuterBodyComponent = new BodyComponent(this) { InitMode = BodyComponentInitMode.Manual, }; OuterBodyComponent.AttachTo(LeftEdgeOffset); Trigger = new BodyComponent(this) { InitMode = BodyComponentInitMode.Manual, }; Trigger.AttachTo(this); Animation = new SpriteAnimationComponent(this) { AnimationTypes = new List <SpriteAnimationType> { SpriteAnimationType.Gate_Closed, SpriteAnimationType.Gate_Open, }, }; Animation.AttachTo(this); }
public Singer() { BodyComponent = new BodyComponent(this) { InitMode = BodyComponentInitMode.Manual, }; RootComponent = BodyComponent; TargetSensor = new TargetSensorComponent(this) { SensorType = TargetSensorType.Circle, CircleSensorRadius = SensorReach, TargetCollisionCategories = CollisionCategory.Friendly, }; TargetSensor.AttachTo(RootComponent); Animation = new SpriteAnimationComponent(this) { AnimationTypes = new List <SpriteAnimationType> { SpriteAnimationType.Singer_Idle_Left, SpriteAnimationType.Singer_Idle_Right, }, }; Animation.AttachTo(RootComponent); Health = GameObjectFactory.CreateDefaultHealth(this, maxHealth: 3, hitDuration: HitDuration, deathParticleTimeToLive: TimeSpan.FromSeconds(1)); HealthDisplay = new HealthDisplayComponent(this) { Health = Health, HealthIcon = SpriteAnimationFactory.CreateAnimationInstance(SpriteAnimationType.Cross), }; HealthDisplay.AttachTo(Animation); }