using System; using System.Collections.Generic; using Sfs2X; using Sfs2X.Requests; using UnityEngine; public class CounterAction { public int Count; public int Counter; public Action Action; public CounterAction(Action action, int count = 1) { Count = count; Action = action; } public void Invoke() { if (Counter++ < Count) { Action.Invoke(); } } public void Bind(ref Action parent) { parent += Invoke; } } public class CounterAction { public int Count; public int Counter; public Action Action; public CounterAction(Action action, int count = 1) { Count = count; Action = action; } public void Invoke(T t) { if (Counter++ < Count) { Action.Invoke(t); } } public void Bind(ref Action parent) { parent += Invoke; } } public class CounterAction { public int Count; public int Counter; public Action Action; public CounterAction(Action action, int count = 1) { Count = count; Action = action; } public void Invoke(T1 t1, T2 t2) { if (Counter++ < Count) { Action.Invoke(t1, t2); } } public void Bind(ref Action parent) { parent += Invoke; } } public class SFSManager : Regist { #region Config public static PlazaRoomEvent PlazaRoomEvent { get { return GardenSmartFox.EventManager.PlazaRoomEvent; } } public static PlazaRoomController PlazaRoomController { get { return GardenSmartFox.PlazaRoomController; } } public static GardenSmartFox GardenSmartFox; #endregion public override bool InitAtOnce() { enabled = true; return base.InitAtOnce(); } public void Start() { GardenSmartFox = new GardenSmartFox(); } public void OnDisable() { if (GardenSmartFox != null) GardenSmartFox.Connector.Disconnect(); } public void OnApplicationQuit() { if (GardenSmartFox != null) { GardenSmartFox.Connector.Disconnect(); } //RobotManager.DeactivateAllRobots(false); } public void Update() { GardenSmartFox.SmartFox.ProcessEvents(); GardenSmartFox.PlazaRoomController.Update(); GardenSmartFox.ProcessRequest(); } }