Ejemplo n.º 1
0
    // Start is called before the first frame update
    void Start()
    {
        manager = new HFSMManagerSystem();

        HomeSystem homeSystem = new HomeSystem("HomeSystem", manager);

        ReadBookState readBookState = new ReadBookState("ReadBookState", homeSystem, systemText, stateText);

        readBookState.AddTransition("Cook", "CookState");
        CookState cookState = new CookState("CookState", homeSystem, systemText, stateText);

        cookState.AddTransition("Sleep", "SleepState");
        SleepState sleepState = new SleepState("SleepState", homeSystem, systemText, stateText);

        sleepState.AddTransition("ReadBook", "ReadBookState");

        homeSystem.AddState(readBookState);
        homeSystem.AddState(cookState);
        homeSystem.AddState(sleepState);

        MarketSystem marketSystem = new MarketSystem("MarketSystem", manager);

        BuyState buyState = new BuyState("BuyState", marketSystem, systemText, stateText);

        buyState.AddTransition("Pay", "PayState");
        PayState payState = new PayState("PayState", marketSystem, systemText, stateText);

        payState.AddTransition("Buy", "BuyState");

        marketSystem.AddState(buyState);
        marketSystem.AddState(payState);

        manager.AddSubSystem(homeSystem);
        manager.AddSubSystem(marketSystem);
    }
Ejemplo n.º 2
0
 public HomeSystem(string name, HFSMManagerSystem managerSystem) : base(name, managerSystem)
 {
     homeTime = 0;
 }