首页 > 其他分享 >02 状态模式

02 状态模式

时间:2024-02-25 23:02:40浏览次数:15  
标签:02 状态 mContext Handle Context void 模式 context public

using UnityEngine;

/// <summary>
/// 功能说明:状态模式 吃睡干例子
/// </summary>
public class DPState:MonoBehaviour
{
    private void Start()
    {
        Context context = new();
        context.SetState(new Sleep(context));
        context.Handle();
   
    }


}
public interface IState
{
    void Handle();
}

public class Context//状态机
{
    private IState mState;//当前状态

    public void SetState(IState state) //设置状态
    {
        mState = state;
    }

    public void Handle()
    {
        mState.Handle(); //当前状态下需要执行的方法
    }
    
}

public class EatMeals : IState
{
    private Context mContext;

    public EatMeals(Context context)
    {
        mContext = context;
    }
    public void Handle()
    {
        Debug.Log("我们正在吃饭");
    }
}

public class Work : IState
{
    private Context mContext;

    public Work(Context context)
    {
        mContext = context;
    }
    public void Handle()
    {
        Debug.Log("我们正在工作");
    }
}


public class Sleep : IState
{
    private Context mContext;

    public Sleep(Context context)
    {
        mContext = context;
    }
    public void Handle()
    {
        Debug.Log("我们正在睡觉");
    }
}

 

标签:02,状态,mContext,Handle,Context,void,模式,context,public
From: https://www.cnblogs.com/meidusha/p/18033307

相关文章

  • winter 2024 第五周周报
    内容day1打的牛客寒假4,有一道挺可惜的吧,J题后面补的,一道三点共线+状压dp,没怎么学几何的东西,然后也没有准备几何的板子(就连三点共线的板子都没找到qwq)。还有F题,赛时没有一点思路看别人的代码说实话也看不太懂,一道dp吧,感觉自己dp这方面真的不行qwqday3https://www.cnblogs.com/b......
  • 省选2024
    作为一个高二且NOIP只有300分的江苏oier,压力还是有点大的。Day-?得知noip只占30%,但是省队名额只有12个。算了一下,大概我考的和去年水平一样,应该就差不多了,其实可以对标一下ybw。虽然自己水平提高确实很多,但是还是感觉很没底。毕竟去年感觉自己打的很爆炸,结果后来发现我只......
  • 什么时候用静态方法?什么时候用单例模式
    什么时候用静态方法?什么时候用单例模式我们在编程中最常用的模式就是单例模式了,然而单例模式都用在什么场合?为什么不用静态方法而要用单例模式呢?要搞清这些问题,需要从静态方法和非静态方法的区别和联系说起。一、静态方法常驻内存,非静态方法只有使用的时候才分配内存?一般都认......
  • 【国产化】禁止使用不安全的密码算法:DES、RC2,RSA(1024位及以下),MD5,SHA1
    一、引言随着互联网的普及和技术的发展,网络安全问题日益严重。密码算法作为网络安全的基石,其安全性直接关系到用户数据的安全。一些不安全的密码算法不断被曝光,给用户带来了极大的安全隐患。二、不安全的密码算法1.DESDES(DataEncryptionStandard)是一种对称加密算法,自1977年......
  • The 2023 ICPC Asia Jinan Regional Contest (The 2nd Universal Cup. Stage 17: Jina
    Preface趁着开学前最后一天再凑一场训练,今天这场手感不错前面的题都是一遍过最后靠着前期的手速7题苟进Au区,后面90min徐神B题没有Rush出来,思路啥都是对的就是一点细节没写好A.ManyManyHeads首先发现我们可以将所有相邻的同类型括号设为一对,这样一定能得出一个合法的串考......
  • linux内核链表 --20240225
    提起linux内核链表,首先一定得弄清楚的两个linux内核常用宏offsetof&&container_ofoffsetof宏#defineoffsetof(TYPE,MEMBER)((size_t)&((TYPE*)0)->MEMBER)宏解析:1、size_t在系统中一般指unsignedint,无符号整型2、(TYPE*)0,把0地址强制转换成type结构体类型的指针......
  • Programming Abstractions in C阅读笔记:p293-p302
    《ProgrammingAbstractionsinC》学习第73天,p293-p302总结,总计10页。一、技术总结1.时间复杂度(1)quadratictime(二次时间)p293,AlgorithmslikeselectionsortthatexhibitO(N^2)performancearesaidtoruninquadratictime。2.线性查找(linearsearch)p293,B......
  • HUAWEI Programming Contest 2024(AtCoder Beginner Contest 342)
    HUAWEIProgrammingContest2024(AtCoderBeginnerContest342)A-Yay!代码:#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;usingpii=pair<ll,ll>;#definefifirst#definesesecondusingi128=__int128_t;usingpiii=p......
  • 2024-02-23-物联网系统编程(4-信号)
    4.信号4.1进程间通信概述进程间通信进程是一个独立的资源分配单元,不同进程(这里所说的进程通常指的是用户进程)之间的资源是独立的,没有关联,不能在一个进程中直接访问另一个进程的资源(例如打开的文件描述符)。进程不是孤立的,不同的进程需要进行信息的交互和状态的传递等,因此......
  • 2024牛客寒假算法基础集训营6
    A.欧拉筛处理出素数直接3重暴力循环找#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=1e5+10;#defineinf0x3f3f3f3fboolis_prime[N];//是否是质数,0为是,1为不是intprime[N];//质数数组inttop=1;//质数的下标intmin_p[N];//最小......