public void ChangeStageTo(int id) { CurrentStage = Stages.First(x => x.Id == id); CurrentStage.StageComplete += OnStageComplete; Gamefield.ManaManagerSystem.PointChanged += CurrentStage.OnManaManagersChanged; // Gamefield.Level.ChoseFor(CurrentStage.MinY, CurrentStage.MaxY); CenterCameraOnField.Instance.CenterCameraOnChuzzles(Gamefield.Level.Chuzzles.GetTiles(), false); }
public void Init(List<Stage> stages) { if (stages == null || stages.Count < 2) { if (CurrentStage != null) { Gamefield.ManaManagerSystem.PointChanged -= CurrentStage.OnManaManagersChanged; CurrentStage.StageComplete -= OnStageComplete; CurrentStage = null; } Stages.Clear(); //Gamefield.Level.UpdateActive(); CenterCameraOnField.Instance.CenterCameraOnChuzzles(Gamefield.Level.Chuzzles.GetTiles(), true); return; } Stages = stages; ChangeStageTo(0); }