Create Primitive Game Object#
Game Object / Creation / Create Primitive Game Object
Description#
Creates a primitive game object figure from a selection dropdown
Parameters#
| Name | Description |
|---|---|
| Primitive | The primitive shape to create |
| Name | The name for the new game object |
| Set | Where the game object reference is optionally stored |
Code#
using System;
using UnityEngine;
using VisualScript.Icons;
namespace VisualScript.Runtime
{
[Title("Create Primitive Game Object")]
[Image(typeof(IconCubeSolid), ColorTheme.Type.TextLight)]
[Description("Creates a primitive game object figure from a selection dropdown")]
[Category("Game Object/Creation/Create Primitive")]
[Parameter("Primitive", "The primitive shape to create")]
[Parameter("Name", "The name for the new game object")]
[Parameter("Set", "Where the game object reference is optionally stored")]
[Serializable]
public class InstructionCoreGameObjectCreatePrimitive : Instruction
{
[SerializeField] private PrimitiveType m_Primitive = PrimitiveType.Cube;
[SerializeField] private GetString m_Name = new GetString();
[SerializeField] private SetGameObject m_Set = new SetGameObject(new TypeGameObjectNoneSet());
protected override string GetTitle(GameObject source) => $"{this.m_Set} = Create {this.m_Primitive}";
protected override Awaitable Run(Args args)
{
string name = this.m_Name.Get(args);
GameObject gameObject = GameObject.CreatePrimitive(this.m_Primitive);
gameObject.name = name;
this.m_Set.Set(gameObject, args);
return Done;
}
}
}