protected void Awake()
 {
     if (IsBonusPlanet && BonusPlanet == BonusPlanetType.Crait)
     {
         Locked = ContainerAPI.IsPlanetLocked(PlanetType.Hoth);
     }
     else
     {
         Locked = ContainerAPI.IsPlanetLocked(Planet);
     }
 }
        public void UpdateState()
        {
            if (Configs == null)
            {
                return;
            }

            bool locked   = true;
            int  complete = 0;
            int  total    = Configs.Length;

            for (int i = 0; i < total; i++)
            {
                if (i == 0)
                {
                    // Exception when playing on hard (Not Core)
                    if (Configs[i].Planet != PlanetType.Core && Difficulty == 3 && Configs[i].Game == Game.Assault && ContainerAPI.GetDuelApi().Progress.HasCompleted(DuelAPI.Duelist.Archivist, 2))
                    {
                        locked = false;
                    }
                    else
                    {
                        locked = ContainerAPI.IsLevelLocked(Configs[i], Difficulty) || ContainerAPI.IsPlanetLocked(Configs[i].Planet);
                    }
                }

                if (ContainerAPI.IsLevelComplete(Configs[i], Difficulty))
                {
                    complete++;
                }
            }

            NotStarted.SetActive(locked);
            InProgress.SetActive(!locked && complete < total);
            Complete.SetActive(total == complete);
        }