static OrbitalRegistry() { Define("prism", o => { var orbital = new Prism(); o.Area.Add(orbital); return(orbital); }); Define("goo", o => { var orbital = new Orbital(); o.Area.Add(orbital); var g = new ScalableSliceComponent("items", "bk:goo") { ShadowZ = 2 }; orbital.AddComponent(g); g.AddShadow(); g.SetOwnerSize(); orbital.AddComponent(new CircleBodyComponent(0, 0, 6, BodyType.Dynamic, true)); orbital.OnCollision += (or, e) => { if (e is Projectile p && p.Owner != orbital.Owner) { p.Break(); } }; return(orbital); });
public override void AddComponents() { base.AddComponents(); var s = new ScalableSliceComponent("items", "bk:burning_king_sword") { ShadowZ = 2 }; AddComponent(s); s.AddShadow(); AlwaysActive = true; AlwaysVisible = true; AddComponent(new RectBodyComponent(0, 0, 11, 26, center: true) { KnockbackModifier = 0 }); SetMaxHp(5); AddComponent(new OrbitalComponent { Radius = 32 }); RemoveTag(Tags.LevelSave); s.Scale.X = 0; s.Scale.Y = 0; Tween.To(1, s.Scale.X, x => s.Scale.X = x, 0.4f, Ease.QuadOut); Tween.To(1, s.Scale.Y, x => s.Scale.Y = x, 0.4f, Ease.QuadOut); Height = 26; // Width = 11; }