3.1.0 • Published 4 years ago

xyz.candycoded.forms v3.1.0

Weekly downloads
26
License
MIT
Repository
github
Last release
4 years ago

Forms

Components used to simplify the handling of form inputs in Unity.

npm

Installation

Direct Install

Download latest CandyCoded.Forms.unitypackage or CandyCoded.Forms.dll

Unity Package Manager

https://docs.unity3d.com/Packages/com.unity.package-manager-ui@2.0/manual/index.html

Git

{
  "dependencies": {
    "xyz.candycoded.forms": "https://github.com/CandyCoded/Forms.git#v1.0.0",
    ...
  }
}

Scoped UPM Registry

{
  "dependencies": {
    "xyz.candycoded.forms": "1.0.0",
    ...
  },
  "scopedRegistries": [
    {
      "name": "forms",
      "url": "https://registry.npmjs.com",
      "scopes": ["xyz.candycoded"]
    }
  ]
}

Usage

First create a class with the same field names (and data types) as the form.

public class Profile
{
    public bool active;
    public string firstName;
    public string lastName;
    public int age;
}

Add a Form property to a MonoBehaviour for storing a reference to the Form component.

[SerializeField]
private Form _form;

Populate the fields with exisiting values (if applicable).

public void Start()
{

    _form.LoadFormValues(new Profile
    {
        active = true,
        firstName = "Scott",
        lastName = "Doxey",
        age = 36
    });

}

Data can also be loaded via a Dictionary<string, object> object.

public void Start()
{

    _form.LoadFormRawValues(new Dictionary<string, object>
      {
          { "active", true },
          { "firstName", "Scott" },
          { "lastName", "Doxey" },
          { "age", 36 },
      });

}

Create a submit event handler that takes Dictionary<string, object> as it's only property.

public void SubmitForm(Dictionary<string, object> formRawValues)
{

    Debug.Log(JsonConvert.SerializeObject(formRawValues));
    Debug.Log(JsonConvert.SerializeObject(_form.GetFormValues<Profile>()));

}

Attach that method to the form submitted event handler on the Form component (see screenshot below).

Note: A button can also be assigned to the form as the primary submit button (also see screenshot below).

3.1.0

4 years ago

3.0.0

4 years ago

2.1.1

4 years ago

2.1.0

4 years ago

2.0.0

4 years ago

1.1.0

5 years ago

1.0.0

5 years ago