\doxysection{FSM\+\_\+\+OOP/base\+FSM/\+FSM.c File Reference} \hypertarget{_f_s_m_8c}{}\label{_f_s_m_8c}\index{FSM\_OOP/baseFSM/FSM.c@{FSM\_OOP/baseFSM/FSM.c}} {\ttfamily \#include $<$stdlib.\+h$>$}\newline {\ttfamily \#include $<$stdio.\+h$>$}\newline {\ttfamily \#include $<$assert.\+h$>$}\newline {\ttfamily \#include $<$string.\+h$>$}\newline {\ttfamily \#include "{}FSM\+\_\+private.\+h"{}}\newline {\ttfamily \#include "{}FSM\+\_\+protected.\+h"{}}\newline {\ttfamily \#include "{}FSM\+\_\+public.\+h"{}}\newline \doxysubsubsection*{Functions} \begin{DoxyCompactItemize} \item static void \mbox{\hyperlink{_f_s_m_8c_a6b596586b33f46c312a7088e8352d226}{set\+Next\+State}} (FSM \texorpdfstring{$\ast$}{*}p\+FSM) \begin{DoxyCompactList}\small\item\em 设置下一个状态,里面的子状态机暂时没用到 \end{DoxyCompactList}\item static void \mbox{\hyperlink{_f_s_m_8c_a7fc6a4715e8cbd7660788fd9c59cb417}{preload}} (FSM \texorpdfstring{$\ast$}{*}p\+FSM) \item void \mbox{\hyperlink{_f_s_m_8c_a9bab0f8eedb805136ee573eac09b6ebb}{step\+Base\+FSM}} (FSM \texorpdfstring{$\ast$}{*}p\+FSM) \begin{DoxyCompactList}\small\item\em 运行状态机,状态机框架的核心函数 \end{DoxyCompactList}\item void \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{_f_s_m_8c_a9c285ac5bbad90b0b04de18d393cf4ce}{\+\_\+preload\+In}} (FSM \texorpdfstring{$\ast$}{*}p\+FSM) \item void \mbox{\hyperlink{_f_s_m_8c_a6e2a8d16f390efeaecc8938ec8f2e728}{\+\_\+preloader\+Get\+Ready}} (FSM \texorpdfstring{$\ast$}{*}p\+FSM) \item int \mbox{\hyperlink{_f_s_m_8c_a704103961964dbb8582b59fd161a3348}{\+\_\+get\+Preloader\+Over\+Flag}} (FSM \texorpdfstring{$\ast$}{*}p\+FSM) \item void \mbox{\hyperlink{_f_s_m_8c_aad909acd21e17b8073d5d9dfb8892ccb}{\+\_\+clear\+Preloader\+Over\+Flag}} (FSM \texorpdfstring{$\ast$}{*}p\+FSM) \end{DoxyCompactItemize} \doxysubsection{Detailed Description} \begin{DoxyAuthor}{Author} 天神 (\href{mailto:dalaoshi@stu.xjtu.edu.cn}{\texttt{ dalaoshi@stu.\+xjtu.\+edu.\+cn}}) \end{DoxyAuthor} \begin{DoxyVersion}{Version} 2.\+1 \end{DoxyVersion} \begin{DoxyDate}{Date} 2024-\/05-\/07 \end{DoxyDate} \begin{DoxyCopyright}{Copyright} 天神创意无限公司 2024 \end{DoxyCopyright} \doxysubsection{Function Documentation} \Hypertarget{_f_s_m_8c_a6b596586b33f46c312a7088e8352d226}\label{_f_s_m_8c_a6b596586b33f46c312a7088e8352d226} \index{FSM.c@{FSM.c}!setNextState@{setNextState}} \index{setNextState@{setNextState}!FSM.c@{FSM.c}} \doxysubsubsection{\texorpdfstring{setNextState()}{setNextState()}} {\footnotesize\ttfamily static void set\+Next\+State (\begin{DoxyParamCaption}\item[{FSM \texorpdfstring{$\ast$}{*}}]{p\+FSM }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} 设置下一个状态,里面的子状态机暂时没用到 \begin{DoxyParams}{Parameters} {\em p\+FSM} & 状态机变量的基类指针 \\ \hline \end{DoxyParams} \Hypertarget{_f_s_m_8c_a7fc6a4715e8cbd7660788fd9c59cb417}\label{_f_s_m_8c_a7fc6a4715e8cbd7660788fd9c59cb417} \index{FSM.c@{FSM.c}!preload@{preload}} \index{preload@{preload}!FSM.c@{FSM.c}} \doxysubsubsection{\texorpdfstring{preload()}{preload()}} {\footnotesize\ttfamily static void preload (\begin{DoxyParamCaption}\item[{FSM \texorpdfstring{$\ast$}{*}}]{p\+FSM }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}} \begin{DoxyRefDesc}{Deprecated} \item[\mbox{\hyperlink{deprecated__deprecated000001}{Deprecated}}]去掉了所有和预装载器相关的内容 \end{DoxyRefDesc} \begin{DoxyParams}{Parameters} {\em p\+FSM} & \\ \hline \end{DoxyParams} \Hypertarget{_f_s_m_8c_a9bab0f8eedb805136ee573eac09b6ebb}\label{_f_s_m_8c_a9bab0f8eedb805136ee573eac09b6ebb} \index{FSM.c@{FSM.c}!stepBaseFSM@{stepBaseFSM}} \index{stepBaseFSM@{stepBaseFSM}!FSM.c@{FSM.c}} \doxysubsubsection{\texorpdfstring{stepBaseFSM()}{stepBaseFSM()}} {\footnotesize\ttfamily void step\+Base\+FSM (\begin{DoxyParamCaption}\item[{FSM \texorpdfstring{$\ast$}{*}}]{p\+FSM }\end{DoxyParamCaption})} 运行状态机,状态机框架的核心函数 共分为三部首先判断是否有状态机切换, \begin{DoxyParams}{Parameters} {\em p\+FSM} & 状态机基类指针 \\ \hline \end{DoxyParams} \Hypertarget{_f_s_m_8c_a9c285ac5bbad90b0b04de18d393cf4ce}\label{_f_s_m_8c_a9c285ac5bbad90b0b04de18d393cf4ce} \index{FSM.c@{FSM.c}!\_preloadIn@{\_preloadIn}} \index{\_preloadIn@{\_preloadIn}!FSM.c@{FSM.c}} \doxysubsubsection{\texorpdfstring{\_preloadIn()}{\_preloadIn()}} {\footnotesize\ttfamily void \texorpdfstring{$\ast$}{*} \+\_\+preload\+In (\begin{DoxyParamCaption}\item[{FSM \texorpdfstring{$\ast$}{*}}]{p\+FSM }\end{DoxyParamCaption})} \begin{DoxyRefDesc}{Deprecated} \item[\mbox{\hyperlink{deprecated__deprecated000002}{Deprecated}}]弃用 \end{DoxyRefDesc} \begin{DoxyParams}{Parameters} {\em p\+FSM} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} void\texorpdfstring{$\ast$}{*} \end{DoxyReturn} \Hypertarget{_f_s_m_8c_a6e2a8d16f390efeaecc8938ec8f2e728}\label{_f_s_m_8c_a6e2a8d16f390efeaecc8938ec8f2e728} \index{FSM.c@{FSM.c}!\_preloaderGetReady@{\_preloaderGetReady}} \index{\_preloaderGetReady@{\_preloaderGetReady}!FSM.c@{FSM.c}} \doxysubsubsection{\texorpdfstring{\_preloaderGetReady()}{\_preloaderGetReady()}} {\footnotesize\ttfamily void \+\_\+preloader\+Get\+Ready (\begin{DoxyParamCaption}\item[{FSM \texorpdfstring{$\ast$}{*}}]{p\+FSM }\end{DoxyParamCaption})} \begin{DoxyRefDesc}{Deprecated} \item[\mbox{\hyperlink{deprecated__deprecated000003}{Deprecated}}]弃用 \end{DoxyRefDesc} \begin{DoxyParams}{Parameters} {\em p\+FSM} & \\ \hline \end{DoxyParams} \Hypertarget{_f_s_m_8c_a704103961964dbb8582b59fd161a3348}\label{_f_s_m_8c_a704103961964dbb8582b59fd161a3348} \index{FSM.c@{FSM.c}!\_getPreloaderOverFlag@{\_getPreloaderOverFlag}} \index{\_getPreloaderOverFlag@{\_getPreloaderOverFlag}!FSM.c@{FSM.c}} \doxysubsubsection{\texorpdfstring{\_getPreloaderOverFlag()}{\_getPreloaderOverFlag()}} {\footnotesize\ttfamily int \+\_\+get\+Preloader\+Over\+Flag (\begin{DoxyParamCaption}\item[{FSM \texorpdfstring{$\ast$}{*}}]{p\+FSM }\end{DoxyParamCaption})} \begin{DoxyRefDesc}{Deprecated} \item[\mbox{\hyperlink{deprecated__deprecated000004}{Deprecated}}]弃用 \end{DoxyRefDesc} \begin{DoxyParams}{Parameters} {\em p\+FSM} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} int \end{DoxyReturn} \Hypertarget{_f_s_m_8c_aad909acd21e17b8073d5d9dfb8892ccb}\label{_f_s_m_8c_aad909acd21e17b8073d5d9dfb8892ccb} \index{FSM.c@{FSM.c}!\_clearPreloaderOverFlag@{\_clearPreloaderOverFlag}} \index{\_clearPreloaderOverFlag@{\_clearPreloaderOverFlag}!FSM.c@{FSM.c}} \doxysubsubsection{\texorpdfstring{\_clearPreloaderOverFlag()}{\_clearPreloaderOverFlag()}} {\footnotesize\ttfamily void \+\_\+clear\+Preloader\+Over\+Flag (\begin{DoxyParamCaption}\item[{FSM \texorpdfstring{$\ast$}{*}}]{p\+FSM }\end{DoxyParamCaption})} \begin{DoxyRefDesc}{Deprecated} \item[\mbox{\hyperlink{deprecated__deprecated000005}{Deprecated}}]弃用 \end{DoxyRefDesc} \begin{DoxyParams}{Parameters} {\em p\+FSM} & \\ \hline \end{DoxyParams}