public static FinalBossBeam Clone(this FinalBossBeam finalBossBeam) { FinalBoss boss = finalBossBeam.GetField("boss")?.TryFindOrCloneObject() as FinalBoss; if (boss == null) { return(null); } return(Engine.Pooler.Create <FinalBossBeam>().Init(boss, new Player(finalBossBeam.GetPlayerPosition(), PlayerSpriteMode.Madeline))); }
private static FinalBossBeam FinalBossBeamOnInit(On.Celeste.FinalBossBeam.orig_Init orig, FinalBossBeam self, FinalBoss boss, Player target) { self.TrySetEntityId2(boss.HasEntityId2() ? boss.GetEntityId2().ToString() : "null", target.GetEntityId2()); self.SetPlayerPosition(target); return(orig(self, boss, target)); }
public static void SetPlayerPosition(this FinalBossBeam finalBossBeam, Player player) { finalBossBeam.SetExtendedDataValue(FinalBossBeamPlayerPositionKey, player.Position); }
public static Vector2 GetPlayerPosition(this FinalBossBeam finalBossBeam) { return(finalBossBeam.GetExtendedDataValue <Vector2>(FinalBossBeamPlayerPositionKey)); }