public void UpdateTextureLabels()
        {
            Segment seg = ActiveLevel.GetSelectedSegment();

            sliderLabelPathfinding.Enabled = sliderLabelDark.Enabled = sliderLabelExitSegment.Enabled = (seg != null);
            if (seg != null)
            {
                sliderLabelPathfinding.ValueText = seg.m_pathfinding.ToString();
                sliderLabelExitSegment.ValueText = seg.m_exit_segment_type.ToString();
                sliderLabelDark.ValueText        = seg.m_dark ? "YES" : "NO";

                Side s = ActiveLevel.GetSelectedSide();
                sliderLabelSplitPlaneOrder.Enabled = (s != null);
                if (s != null)
                {
                    label_texture_name.Text = s.tex_name;

                    slider_deformation_height.ValueText = Utility.ConvertFloatTo2Dec(s.deformation_height);

                    sliderLabelSplitPlaneOrder.ValueText = (s.chunk_plane_order == -1) ? "OFF" : s.chunk_plane_order.ToString();

                    // Cave preset
                    button_cave1.BackColor = (s.deformation_preset == 0 ? Color.Yellow : SystemColors.Control);
                    button_cave2.BackColor = (s.deformation_preset == 1 ? Color.Yellow : SystemColors.Control);
                    button_cave3.BackColor = (s.deformation_preset == 2 ? Color.Yellow : SystemColors.Control);
                    button_cave4.BackColor = (s.deformation_preset == 3 ? Color.Yellow : SystemColors.Control);
                }
            }
        }
コード例 #2
0
 public void Tick(float deltaTime)
 {
     if (CanTick)
     {
         ActiveLevel?.Tick(deltaTime);
     }
 }
コード例 #3
0
    public void Generate()
    {
        var randomLevels = new ActiveLevel[numberOfLevels];

        for (int i = 0; i < numberOfLevels; i++)
        {
            randomLevels[i] = RandomLevel();
        }
        GetComponent <LevelList>().Display(randomLevels);
    }
コード例 #4
0
 private void OnFocusChanged(EngineFocusChangeMessage msg)
 {
     if (msg.NewFocusState)
     {
         ActiveLevel?.OnGameResume();
     }
     else
     {
         ActiveLevel?.OnGamePause();
     }
 }
コード例 #5
0
        /// <summary>
        /// Loads the given level.
        /// </summary>
        /// <param name="level"></param>
        public void LoadLevel([NotNull] Level level)
        {
            ActiveLevel?.OnGameEnd();
            ActiveLevel?.ShutdownLevel();

            ActiveLevel = level;

            level.LevelID = ++LevelIDCounter;
            level.Loaded  = true;
            level.OnLevelLoad();
            level.Ticking = true;
        }
コード例 #6
0
        void UpdateActiveDecalLabels()
        {
            var  d       = ActiveLevel.GetSelectedDecal(ActiveDocument.m_decal_active);
            bool applied = d != null && d.Applied;

            label_decal_alignment.Text      = "Align: " + (applied ? d.align.ToString() : "");
            slider_decal_rotation.ValueText = applied ? (d.rotation * 45).ToString() : "";
            label_decal_mirror.Text         = "Mirror: " + (applied ? d.mirror.ToString() : "");
            slider_decal_repeat_u.ValueText = applied ? (d.repeat_u > 0 ? d.repeat_u.ToString() : "MAX") : "";
            slider_decal_repeat_v.ValueText = applied ? (d.repeat_v > 0 ? d.repeat_v.ToString() : "MAX") : "";
            slider_decal_offset_u.ValueText = applied ? (d.offset_u.ToString() + "/4") : "";
            slider_decal_offset_v.ValueText = applied ? (d.offset_v.ToString() + "/4") : "";
            label_decal_clip_up.Text        = applied ? d.clip[(int)EdgeOrder.UP].ToString() : "";
            label_decal_clip_down.Text      = applied ? d.clip[(int)EdgeOrder.DOWN].ToString() : "";
            label_decal_clip_left.Text      = applied ? d.clip[(int)EdgeOrder.LEFT].ToString() : "";
            label_decal_clip_right.Text     = applied ? d.clip[(int)EdgeOrder.RIGHT].ToString() : "";

            // Enable/disable controls based on active decal
            label_decal_alignment.Enabled        = label_decal_mirror.Enabled =
                slider_decal_rotation.Enabled    = slider_decal_repeat_u.Enabled = slider_decal_repeat_v.Enabled = slider_decal_offset_u.Enabled = slider_decal_offset_v.Enabled =
                    button_preset_adj_lr.Enabled = button_preset_adj_ud.Enabled = button_preset_avg_lr.Enabled = button_preset_avg_ud.Enabled = button_preset_none.Enabled = button_preset_whole.Enabled = applied;
        }
コード例 #7
0
ファイル: Form1.cs プロジェクト: artis04/Sudoku
        private void OpenLevels(object sender, EventArgs e)
        {
            string[]      lines    = File.ReadAllLines(@"sudoku\levels\levels.txt");
            List <string> Levels   = new List <string> {
            };
            List <string> Elevels  = new List <string> {
            };
            List <string> Mlevels  = new List <string> {
            };
            List <string> Hlevels  = new List <string> {
            };
            List <string> Exlevels = new List <string> {
            };
            bool level             = false;
            bool easy   = false;
            bool medium = false;
            bool hard   = false;
            bool expert = false;

            foreach (string line in lines)
            {
                if (level)
                {
                    if (easy)
                    {
                        Elevels.Add(line);
                    }
                    else if (medium)
                    {
                        Mlevels.Add(line);
                    }
                    else if (hard)
                    {
                        Hlevels.Add(line);
                    }
                    else if (expert)
                    {
                        Exlevels.Add(line);
                    }
                    Levels.Add(line);
                    level = false;
                }
                try
                {
                    if (line.Substring(0, 5) == "Level")
                    {
                        level = true;
                    }
                    easy   = false;
                    medium = false;
                    hard   = false;
                    expert = false;
                    if (line.Substring(9, 1) == "0")
                    {
                        easy = true;
                    }
                    else if (line.Substring(9, 1) == "1")
                    {
                        medium = true;
                    }
                    else if (line.Substring(9, 1) == "2")
                    {
                        hard = true;
                    }
                    else if (line.Substring(9, 1) == "3")
                    {
                        expert = true;
                    }
                }
                catch { }
            }

            // In list Levels is loaded all available levels
            /*string ActiveLevel = Levels[1];*/
            string ActiveLevel;
            Random index = new Random();

            if (difficulty == "easy")
            {
                ActiveLevel = Elevels[index.Next(0, Elevels.Count)];
            }
            else if (difficulty == "medium")
            {
                ActiveLevel = Mlevels[index.Next(0, Mlevels.Count)];
            }
            else if (difficulty == "hard")
            {
                ActiveLevel = Hlevels[index.Next(0, Hlevels.Count)];
            }
            else
            {
                ActiveLevel = Exlevels[index.Next(0, Exlevels.Count)];
            }

            List <string> setup = ActiveLevel.Split(',').ToList();

            sbyte i = 0;

            foreach (Control c in this.Controls)
            {
                Button button = c as Button;
                try
                {
                    c.Text = setup[i];
                    if (c.Text == "0")
                    {
                        c.Text = "";
                    }
                    else
                    {
                        btnLabels.Add(button);
                    }
                    i++;
                }
                catch
                {
                }
            }
        }
コード例 #8
0
 private void OnEngineShutdown(EngineShutdownMessage msg)
 {
     ActiveLevel?.OnGameEnd();
     ActiveLevel?.ShutdownLevel();
 }
 private void button_texture_snap4_Click(object sender, EventArgs e)
 {
     ActiveLevel.UVSnapToFraction(4);
     ActiveDocument.RefreshGeometry();
 }
 private void button_texture_default_map_Click(object sender, EventArgs e)
 {
     ActiveLevel.UVDefaultMapMarkedSides();
     ActiveDocument.RefreshGeometry();
 }
 private void button_texture_center_v_Click(object sender, EventArgs e)
 {
     ActiveLevel.UVCenterV();
     ActiveDocument.RefreshGeometry();
 }
 private void button_align_marked_Click(object sender, EventArgs e)
 {
     ActiveLevel.UVAlignToSide();
     ActiveDocument.RefreshGeometry();
 }
 private void button_texture_planar_z_Click(object sender, EventArgs e)
 {
     ActiveLevel.UVPlanarMapMarkedSides(Axis.Z);
     ActiveDocument.RefreshGeometry();
 }