[Unity] enum(枚举)在脚本之间的引用

本文章所有代码在2021.3.15f1c1版本的编辑器下正常运作

一、enum的介绍

        enum是一种特殊的C语言对象类型,在Unity中的使用较为广泛,具体介绍可以搜索研究,以下为一个实例

//声明枚举的名称,并声明枚举中的元素
enum Unit {START,PLAYERTURN,END}

//基于已声明的枚举创建变量,该变量的值只能在枚举中的元素中选择
Unit unit;

//为变量赋值的语句格式
unit = Unit.START(也可以是Unit.PLAYERTURN或者Unit.END)

二、脚本之间的enum引用

        以下为两个脚本,第一个脚本定义了枚举的名称与其中的元素,并创建了一个基于该枚举的变量,并赋值为START,第二个脚本则可以对第一个脚本中创建的变量进行引用与修改

GameSystem.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class GameSystem : MonoBehaviour
{
    //首先声明枚举的名称,并声明枚举中的元素
    //此处的public极为重要
    public enum GameState {START,PLAYERTURN,END};

    //基于已声明的枚举创建变量
    public GameState state;
    //为该变量赋值(其中GameState必须写明)
    state = GameState.START;
}

ChangeTurn.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class ChangeTurn : MonoBehaviour
{    
    //首先引入上一个脚本定义的类(GameSystem),将名字保存为GS
    public GameSystem GS

    void Start()
    {
        //如果想要引用上一个脚本中基于枚举的变量的值,应使用如下代码
        var state1 = GS.state
        
        //如果想要修改上一个脚本中基于枚举的变量的值,应使用如下代码
        //这一代码中的GameSystem.GameState请使用全拼
        //运行过程中代码会从上一脚本中引入枚举,并为这一变量赋值
        GS.state = GameSystem.GameState.END        
    }
}

三、总结

        在本文章中简单介绍了enum的定义,以及在不同脚本之间的引用,在下不才,如有纰漏欢迎在评论区中指出。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值