예제 #1
0
        public virtual void Load(LevelCore level, RegionDifficulty difficulty)
        {
            if (Contains(level) == false)
            {
                throw new ArgumentException("Trying to load " + level.name + " But it's not a part of the " + name + " Region");
            }

            World.Load(level, difficulty);
        }
        protected virtual RegionDifficultyUITemplate CreateTemplate(RegionDifficulty difficulty)
        {
            var instance = Instantiate(template, panel);

            var script = instance.GetComponent <RegionDifficultyUITemplate>();

            script.Init();
            script.Set(difficulty);

            script.OnClick += OnElementClicked;

            return(script);
        }
예제 #3
0
        public bool UnlockedOn(RegionDifficulty difficulty)
        {
            if (difficulty == null)
            {
                return(true);
            }

            if (difficulty > Region.Progress.Difficulty)
            {
                return(Region.Progress.At(difficulty.Previous) == Region.Size && Index == 0);
            }
            else
            {
                return(Region.Progress.At(difficulty) >= Index);
            }
        }
예제 #4
0
            public virtual int At(RegionDifficulty target)
            {
                if (difficulty == null)
                {
                    return(0);
                }

                if (target > difficulty) //haven't reached this difficulty yet
                {
                    return(0);
                }
                else if (target < difficulty) //have surpassed this difficulty
                {
                    return(Region.Size);
                }
                else //this is the current difficulty
                {
                    return(count);
                }
            }
 public virtual void Request(LevelCore level, RegionDifficulty difficulty, float time)
 {
     Request(level.Region.name, level.Index, difficulty.ID, time);
 }
예제 #6
0
        public virtual void Set(RegionDifficulty difficulty)
        {
            this.Difficulty = difficulty;

            UpdateState();
        }
예제 #7
0
        public virtual void Load(LevelCore level, RegionDifficulty difficulty)
        {
            Current = new SelectionData(level, difficulty);

            Scenes.Load.All(level.Scene, Scenes.Level);
        }
예제 #8
0
 public SelectionData(LevelCore level, RegionDifficulty difficulty) : this()
 {
     this.Level      = level;
     this.Difficulty = difficulty;
 }
예제 #9
0
 public virtual bool Contains(RegionDifficulty element)
 {
     return(list.Contains(element));
 }
예제 #10
0
 public virtual int IndexOf(RegionDifficulty element)
 {
     return(Array.IndexOf(list, element));
 }
예제 #11
0
        void DifficultySelectCallback(RegionDifficulty difficulty)
        {
            Selection.Difficulty = difficulty;

            LoadSelection();
        }
예제 #12
0
 public virtual void Load(RegionDifficulty difficulty)
 {
     Region.Load(this, difficulty);
 }