当前位置:网站首页>Unity C# 单例模式 学习复习笔记
Unity C# 单例模式 学习复习笔记
2022-04-23 06:28:00 【Allen7474】
Unity C# 单例模式 学习复习笔记
什么是单例模式:优缺,理解
Unity单例模式+例子_就一枚小白的博客-CSDN博客_unity 单例
学习链接:开关门 案例【Unity3D学习】Unity3D用单例模式实现简单交互功能、开关门 开关灯_哔哩哔哩_bilibili
单例脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Sc03Singletion : MonoBehaviour
{
//单例模式
static Sc03Singletion instance;
public static Sc03Singletion Instance()
{
if (instance==null)
{
instance = new Sc03Singletion();
}
return instance;
}
public void AnimBegin(GameObject obj,Animator ani,string state)
{
ani = obj.GetComponent<Animator>();
if (ani.speed==0)
{
ani.speed = 1;
}
ani.SetBool(state,true);
}
public void AnimEnd(GameObject obj, Animator ani, string state)
{
if (ani.speed == 0)
{
return;
}
ani.SetBool(state, false);
}
}
门开关脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Sc03Door : MonoBehaviour
{
Animator Ani_Door;
string state;
private void Start()
{
state = "OpenOrClose";
Ani_Door = GetComponent<Animator>();
Ani_Door.speed = 0;
}
public void OpenDoor()
{
//简单方法
/* if (Ani_Door.speed==0)
{
Ani_Door.speed = 1;
}
Ani_Door.SetBool(state, true);*/
//单例模式
Sc03Singletion.Instance().AnimBegin(this.gameObject,Ani_Door,state);
}
public void CloseDoor()
{
/*
if (Ani_Door.speed == 0)
{
return;
}
Ani_Door.SetBool(state, false);
*/
Sc03Singletion.Instance().AnimEnd(this.gameObject, Ani_Door, state);
}
}
灯控制脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Sc03Light : MonoBehaviour
{
Animator Ani_Light;
string state;
private void Start()
{
state = "lightOpenClose";
Ani_Light = GetComponent<Animator>();
Ani_Light.speed = 0;
}
public void LightOn()
{
Sc03Singletion.Instance().AnimBegin(this.gameObject, Ani_Light, state);
}
public void LightOff()
{
Sc03Singletion.Instance().AnimEnd(this.gameObject, Ani_Light, state);
}
}
版权声明
本文为[Allen7474]所创,转载请带上原文链接,感谢
https://blog.csdn.net/Allen7474/article/details/124320178
边栏推荐
猜你喜欢
SAP SALV14 后台输出SALV数据可直接保存文件,发送Email(带排序、超链接、筛选格式)
SQL针对字符串型数字进行排序
Teach-Repeat-Replan: A Complete and Robust System for Aggressive Flight in Complex Environments
Dropping Pixels for Adversarial Robustness
对复杂字典Dictionary&lt;T1,T2&gt;排序问题
SAP 导出Excel文件打开显示:“xxx“的文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则请勿打开。是否仍要打开它?
ABAP 从CDS VIEW 发布OData Service示例
Apache Hudi 如何加速传统的批处理模式?
FSM finite state machine
js之DOM事件
随机推荐
Teach-Repeat-Replan: A Complete and Robust System for Aggressive Flight in Complex Environments
SVG中Path Data数据简化及文件夹所有文件批量导出为图片
SAP DEBUG调试FOR IN、REDUCE等复杂的语句
Unity 获取一个文件依赖的资源
常用Markdown语法学习
The page displays the current time in real time
C# 多个矩形围成的多边形标注位置的问题
Simple random roll call lottery (written under JS)
Mongodb starts warning information processing
反转链表练习
Samplecamerafilter
Game assisted script development journey
ABAP 实现发布RESTful服务供外部调用示例
One of event management
js之DOM学习三种创建元素的方式
State synchronization and frame synchronization
利用Lambda表达式解决c#文件名排序问题(是100大还是11大的问题)
Nodejs (four) character reading
SAP Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃。
企业微信免登录跳转自建应用