x


GUI Button to a GUI slider help ?

Hello i'm looking for someone to help me please

The script changes the Values of the stats, skills and vitals but i've used a GUI Button to change the values how can i convert the button into a horizontal slider ?

using UnityEngine;

using System.Collections; using System;

public class CharacterGenerator : MonoBehaviour { private PlayerCharacter _toon; private const int Starting_Points = 150; private const int Min_Starting_Attribute_Value = 10; private const int Starting_Value = 25; private int pointsLeft;

private const int offSet = 5;
private const int Line_Height = 20;

private const int Stat_Label_Width = 100;
private const int Base_Label_Width = 30;
private const int Button_Width = 20;
private const int Button_Height = 20;


private int statStartingPos = 40;

public GUIStyle Labels;
public GUIStyle Name;
public GUIStyle Buttons1;
public GUIStyle Buttons2;


// Use this for initialization
void Start () {
    _toon = new PlayerCharacter();
    _toon.Awake();

    pointsLeft = Starting_Points;

    for(int cnt = 0; cnt < Enum.GetValues(typeof(AttributeName)).Length; cnt++) {
       _toon.GetPrimaryAttribute(cnt).BaseValue = Starting_Value;
       pointsLeft -= (Starting_Value - Min_Starting_Attribute_Value);
    }

    _toon.StatUpdate();
}

// Update is called once per frame
void Update () {

}

void OnGUI() {
    DisplayName();
    DisplayPointsLeft();
    DisplayAttributes();
    DisplayVitals();
    DisplaySkills();


}

private void DisplayName() {
    GUI.Label(new Rect(10, 10, 50, 25), "Name:"); 
    _toon.Name = GUI.TextField(new Rect(65, 10, 100, 25), _toon.Name);
}

private void DisplayAttributes() {
for(int cnt = 0; cnt < Enum.GetValues(typeof(AttributeName)).Length; cnt++) {
    GUI.Label(new Rect(offSet, statStartingPos + (cnt * Line_Height), Stat_Label_Width, Line_Height ), ((AttributeName)cnt).ToString());
    GUI.Label(new Rect(Stat_Label_Width + offSet , statStartingPos + (cnt * Line_Height), Base_Label_Width, Line_Height), _toon.GetPrimaryAttribute(cnt).AdjustedBaseValue.ToString());
    if(GUI.Button(new Rect(offSet + Stat_Label_Width + Base_Label_Width, statStartingPos + (cnt * Button_Height), Button_Width, Button_Height), "-")) {
       if(_toon.GetPrimaryAttribute(cnt).BaseValue > Min_Starting_Attribute_Value) {
         _toon.GetPrimaryAttribute(cnt).BaseValue--;
         pointsLeft++;
         _toon.StatUpdate();



       }
    }

    if(GUI.Button(new Rect(offSet + Stat_Label_Width + Base_Label_Width * 2, statStartingPos + (cnt * Button_Height), Button_Width, Button_Height), "+")) {
       if(pointsLeft> 0) {
         _toon.GetPrimaryAttribute(cnt).BaseValue++;
         pointsLeft--;
         _toon.StatUpdate();



         }
      }
   }
}

private void DisplayVitals() {
       for(int cnt = 0; cnt < Enum.GetValues(typeof(VitalName)).Length; cnt++) {
    GUI.Label(new Rect(offSet, statStartingPos + ((cnt + 4) * Line_Height), Stat_Label_Width, Line_Height), ((VitalName)cnt).ToString());
    GUI.Label(new Rect(offSet + Stat_Label_Width, statStartingPos + ((cnt + 4) * Line_Height), Base_Label_Width, Line_Height), _toon.GetVital(cnt).AdjustedBaseValue.ToString());
    }
}

private void DisplaySkills() {
    for(int cnt = 0; cnt < Enum.GetValues(typeof(SkillName)).Length; cnt++) {
    GUI.Label(new Rect(offSet, statStartingPos + ((cnt + 6) * Line_Height), Stat_Label_Width, Line_Height), ((SkillName)cnt).ToString());
    GUI.Label(new Rect(offSet + Stat_Label_Width, statStartingPos + ((cnt + 6) * Line_Height), Base_Label_Width, Line_Height), _toon.GetSkill(cnt).AdjustedBaseValue.ToString());
    }
}

private void DisplayPointsLeft() {
    GUI.Label(new Rect(250, 10, 100, 25), "Points Left > " + pointsLeft.ToString());   

       }

}

Help would be appreciated

more ▼

asked Mar 31 '12 at 10:48 AM

mellowninja gravatar image

mellowninja
0 3 3

(comments are locked)
10|3000 characters needed characters left

0 answers: sort newest
Be the first one to answer this question
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x3680
x3327
x1946
x786
x4

asked: Mar 31 '12 at 10:48 AM

Seen: 423 times

Last Updated: Mar 31 '12 at 10:48 AM