protected override void OnEnter(ProcedureOwner procedureOwner) { base.OnEnter(procedureOwner); mProcedureOwner = procedureOwner; // 切换场景 SceneComponent sceneComp = UnityGameFramework.Runtime.GameEntry.GetComponent <SceneComponent>(); if (sceneComp.SceneIsLoaded(mSceneName)) { Scene scene = SceneManager.GetSceneByName(SceneComponent.GetSceneName(mSceneName)); if (!scene.IsValid()) { Log.Error("Loaded scene '{0}' is invalid.", mSceneName); return; } SceneManager.SetActiveScene(scene); } else { sceneComp.LoadScene(mSceneName, this); } // 订阅成功事件 Event.Subscribe(OpenUIFormSuccessEventArgs.EventId, OnOpenUIFormSuccess); Event.Subscribe(OpenUIFormFailureEventArgs.EventId, OnOpenUIFormFailure); UILoadTest(); }
void _loadAsset1() { var eventArgs = ReferencePool.Acquire <Icarus.UnityGameFramework.Runtime.ResourceInitCompleteEventArgs>(); _eventComponent.Subscribe(eventArgs.Id, _checkOutGroup); _resourceComponent.InitResources(); ReferencePool.Release(eventArgs); }
public void LoadConfigs() { _event.Subscribe(UnityGameFramework.Runtime.LoadDataTableSuccessEventArgs.EventId, LoadDataSetSuccessAction); _event.Subscribe(UnityGameFramework.Runtime.LoadDataTableFailureEventArgs.EventId, (sender, e) => { Debug.Log(e.Id); }); _data = GameEntry.GetComponent <DataTableComponent>(); _data.LoadDataTable <ModelConfig>("ModelConfig.txt", _configPath + "ModelConfig.txt"); _data.LoadDataTable <FormConfig>("FormConfig.txt", _configPath + "FormConfig.txt"); _data.LoadDataTable <NameConfig>("NameConfig.txt", _configPath + "NameConfig.txt"); _data.LoadDataTable <BanedTextConfig>("BanedTextConfig.txt", _configPath + "BanedTextConfig.txt"); }
private void OnEnable() { //OnEnableMask(false); Event.Subscribe(ShowEntitySuccessEventArgs.EventId, OnShowEntitySuccess); Event.Subscribe(ShowEntityFailureEventArgs.EventId, OnShowEntityFailure); Event.Subscribe(UnityGameFramework.Runtime.WebRequestSuccessEventArgs.EventId, OnWebRequestSuccess); Event.Subscribe(UnityGameFramework.Runtime.WebRequestFailureEventArgs.EventId, OnWebRequestFailure); //Event.Subscribe(LoadDataTableSuccessEventArgs.EventId, OnLoadDataTableSuccess); //Event.Subscribe(LoadDataTableFailureEventArgs.EventId, OnLoadDataTableFailure); }
public static void InitializationExtension(this WebRequestComponent webRequestComponent) { EventComponent eventComponent = GameEntry.GetComponent <EventComponent>(); if (eventComponent == null) { Log.Fatal("Event component is invalid."); return; } eventComponent.Subscribe(WebRequestSuccessEventArgs.EventId, OnWebRequestSuccess); eventComponent.Subscribe(WebRequestFailureEventArgs.EventId, OnWebRequestFailure); eventComponent.Subscribe(WebRequestStartEventArgs.EventId, OnWebRequestStart); }
protected void Get() { EventComponent EventComment = UnityGameFramework.Runtime.GameEntry.GetComponent <EventComponent>(); WebRequestComponent webRequest = UnityGameFramework.Runtime.GameEntry.GetComponent <WebRequestComponent>(); EventComment.Subscribe(WebRequestSuccessEventArgs.EventId, OnWebRequestSuccess); //成功返回数据 EventComment.Subscribe(WebRequestSuccessEventArgs.EventId, OnWebRequestFailure); //失败返回数据 WWWForm wwwForm = new WWWForm(); wwwForm.AddField("username", _NameInp.text); wwwForm.AddField("password", _PasswordInp.text); string uri = "http://117.78.60.124:8081/security/login";//请求数据地址 webRequest.AddWebRequest(uri, wwwForm); }
// Use this for initialization void Start() { _eventComponent = GameEntry.GetComponent <EventComponent>(); _baseComponent = GameEntry.GetComponent <BaseComponent>(); _resourceComponent = GameEntry.GetComponent <ResourceComponent>(); _sceneComponent = GameEntry.GetComponent <SceneComponent>(); if (!_baseComponent) { Debug.LogError("Base component is invalid."); return; } if (!_sceneComponent) { Debug.LogError("Scene Component 没有找到!"); return; } _eventComponent.Subscribe(ReferencePool.Acquire <LoadSceneSuccessEventArgs>().Id, _loadSceneComplete); if (!_baseComponent.EditorResourceMode) { if (!检查资源版本) { _resourceComponent.InitResources(); return; } _checkVersionAndUpdateAssetbundle(); } else { _load(); } }
/// <summary> /// 初始化网络频道辅助器。 /// </summary> /// <param name="networkChannel">网络频道。</param> public void Initialize(INetworkChannel networkChannel) { m_NetworkChannel = networkChannel; // 反射注册包和包处理函数。 Type packetBaseType = typeof(SCPacketBase); Type packetHandlerBaseType = typeof(PacketHandlerBase); Assembly assembly = Assembly.GetExecutingAssembly(); Type[] types = assembly.GetTypes(); for (int i = 0; i < types.Length; i++) { if (!types[i].IsClass || types[i].IsAbstract) { continue; } if (types[i].BaseType == packetBaseType) { PacketBase packetBase = (PacketBase)Activator.CreateInstance(types[i]); Type packetType = GetServerToClientPacketType(packetBase.Id); if (packetType != null) { Log.Warning("Already exist packet type '{0}', check '{1}' or '{2}'?.", packetBase.Id.ToString(), packetType.Name, packetBase.GetType().Name); continue; } m_ServerToClientPacketTypes.Add(packetBase.Id, types[i]); } else if (types[i].BaseType == packetHandlerBaseType) { IPacketHandler packetHandler = (IPacketHandler)Activator.CreateInstance(types[i]); m_NetworkChannel.RegisterHandler(packetHandler); } } // 获取框架事件组件 EventComponent Event = UnityGameFramework.Runtime.GameEntry.GetComponent <EventComponent>(); Event.Subscribe(UnityGameFramework.Runtime.NetworkConnectedEventArgs.EventId, OnNetworkConnected); Event.Subscribe(UnityGameFramework.Runtime.NetworkClosedEventArgs.EventId, OnNetworkClosed); Event.Subscribe(UnityGameFramework.Runtime.NetworkMissHeartBeatEventArgs.EventId, OnNetworkMissHeartBeat); Event.Subscribe(UnityGameFramework.Runtime.NetworkErrorEventArgs.EventId, OnNetworkError); Event.Subscribe(UnityGameFramework.Runtime.NetworkCustomErrorEventArgs.EventId, OnNetworkCustomError); }
protected internal override void OnEnter(IFsm <IProcedureManager> procedureOwner) { base.OnEnter(procedureOwner); // 获取框架事件组件 EventComponent Event = UnityGameFramework.Runtime.GameEntry.GetComponent <EventComponent>(); Event.Subscribe(WebRequestSuccessEventArgs.EventId, OnWebRequestSuccess); Event.Subscribe(WebRequestFailureEventArgs.EventId, OnWebRequestFailure); // 获取框架网络组件 WebRequestComponent WebRequest = UnityGameFramework.Runtime.GameEntry.GetComponent <WebRequestComponent>(); string url = "http://gameframework.cn/starforce/version.txt"; WebRequest.AddWebRequest(url, this); }
protected internal override void OnEnter(IFsm <IProcedureManager> procedureOwner) { base.OnEnter(procedureOwner); // 加载框架Event组件 downloadComponent = GameEntry.GetComponent <DownloadComponent>(); eventComponent = GameEntry.GetComponent <EventComponent>(); eventComponent.Subscribe(DownloadUpdateEventArgs.EventId, OnDownloadUpdate); eventComponent.Subscribe(DownloadSuccessEventArgs.EventId, OnDownloadSuccess); string m_srcUrl = "http://cdn-jiaoyu-nldmx-yidong.vas.lutongnet.com/ggly_NLDMX/NLDMX_Mobile/android/GamePrimaryT6L4.ab"; string path = Application.persistentDataPath + Path.DirectorySeparatorChar + "test.ab"; int id = downloadComponent.AddDownload(path, m_srcUrl); Log.Info("start " + id); }
internal protected override void OnInit(object userData) { base.OnInit(userData); EventComponent _eventComponent = GameEntry.Event; _eventComponent.Subscribe(ShowMessageEventArgs.EventId, ShowMessage); message.color = Color.clear; BgLeft.color = Color.clear; BgRight.color = Color.clear; }
protected override void OnEnter(ProcedureOwner procedureOwner) { base.OnEnter(procedureOwner); //获取框架事件组件 EventComponent Event = GameEntry.GetComponent <EventComponent>(); //获取框架数据表组件 DataTableComponent DataTable = GameEntry.GetComponent <DataTableComponent>(); //订阅数据表加载成功事件 Event.Subscribe(UnityGameFramework.Runtime.LoadDataTableSuccessEventArgs.EventId, OnLoadDataTableSuccess); DataTable.LoadDataTable <DRHero>("Hero", "Assets/Demo4_DataTable/Hero2.txt"); }
protected override void OnEnter(ProcedureOwner procedureOwner) { base.OnEnter(procedureOwner); //加载框架的UI组件 UI = GameEntry.GetComponent <UIComponent>(); //加载框架Event组件 Event = GameEntry.GetComponent <EventComponent>(); //订阅UI加载成功事件 Event.Subscribe(OpenUIFormSuccessEventArgs.EventId, OnOpenUIFormSuccess); //加载UI UI.OpenUIForm("Assets/Demo3_UI/UI_Menu.prefab", "MenuUIGroup", this); }
void Subscribe <TData>(Action <EventContext <TData> > action) where TData : class { if (!m_Callbacks.TryGetValue(typeof(TData), out var callbacks)) { callbacks = new List <object>(); m_Callbacks.Add(typeof(TData), callbacks); Action <EventContext <object> > proxyAction = OnEventMessage; m_Event.Subscribe(Unsafe.As <Action <EventContext <TData> > >(proxyAction)); } callbacks.Add(action); }
protected override void OnEnter(ProcedureOwner procedureOwner) { base.OnEnter(procedureOwner); //加载框架的Event组件 EventComponent Event = GameEntry.GetComponent <EventComponent>(); //加载框架UI组件 UIComponent UI = GameEntry.GetComponent <UIComponent>(); Event.Subscribe(OpenUIFormSuccessEventArgs.EventId, OnOpenUIFormSuccess); //加载UI UI.OpenUIForm("Assets/Test/Demo3/UI_Menu.prefab", "DefaultGroup", this); }
protected internal override void OnEnter(IFsm <IProcedureManager> procedureOwner) { base.OnEnter(procedureOwner); // 加载框架Event组件 EventComponent Event = UnityGameFramework.Runtime.GameEntry.GetComponent <EventComponent>(); // 订阅UI加载成功事件 Event.Subscribe(LoadConfigSuccessEventArgs.EventId, OnLoadConfigSuccess); //根据绝对路径设置与获取数据 configComponent = UnityGameFramework.Runtime.GameEntry.GetComponent <ConfigComponent>(); configComponent.LoadConfig("DefaultConfig", LoadType.Text, this); }
protected internal override void OnEnter(IFsm <IProcedureManager> procedureOwner) { base.OnEnter(procedureOwner); // 加载框架Event组件 EventComponent Event = UnityGameFramework.Runtime.GameEntry.GetComponent <EventComponent>(); SettingComponent Setting = UnityGameFramework.Runtime.GameEntry.GetComponent <SettingComponent>(); // 加载框架Event组件 localizationComponent = UnityGameFramework.Runtime.GameEntry.GetComponent <LocalizationComponent>(); //// 订阅UI加载成功事件 Event.Subscribe(LoadDictionarySuccessEventArgs.EventId, OnLoadDictionarySuccess); Language language = localizationComponent.Language; Log.Info(language); string languageString = Setting.GetString(Constant.Setting.Language); if (!string.IsNullOrEmpty(languageString)) { try { language = (Language)Enum.Parse(typeof(Language), languageString); } catch { } } if (language != Language.English && language != Language.ChineseSimplified && language != Language.ChineseTraditional && language != Language.Korean) { // 若是暂不支持的语言,则使用英语 language = Language.English; Setting.SetString(Constant.Setting.Language, language.ToString()); Setting.Save(); } localizationComponent.Language = language; Log.Info(language); localizationComponent.LoadDictionary("Default", LoadType.Text, this); }
protected override void OnEnter(ProcedureOwner procedureOwner) { base.OnEnter(procedureOwner); ResourceComponent Resource = UnityGameFramework.Runtime.GameEntry.GetComponent <ResourceComponent> (); // 初始化资源 Resource.InitResources(); EventComponent Event = UnityGameFramework.Runtime.GameEntry.GetComponent <EventComponent> (); // 订阅资源初始化成功事件(记得在OnLeave函数里取消订阅,我就不演示了) Event.Subscribe(ResourceInitCompleteEventArgs.EventId, OnResourceInitComplete); }
protected internal override void OnEnter(IFsm <IProcedureManager> procedureOwner) { base.OnEnter(procedureOwner); // 加载框架UI组件 UIComponent UI = UnityGameFramework.Runtime.GameEntry.GetComponent <UIComponent>(); // 加载框架Event组件 EventComponent Event = UnityGameFramework.Runtime.GameEntry.GetComponent <EventComponent>(); // 加载UI // 订阅UI加载成功事件 Event.Subscribe(OpenUIFormSuccessEventArgs.EventId, OnOpenUIFormSuccess); UI.OpenUIForm("Assets/Demo/Event/UI_Menu.prefab", "DefaultGroup", this); }
protected internal override void OnEnter(IFsm <IProcedureManager> procedureOwner) { base.OnEnter(procedureOwner); // 获取框架事件组件 EventComponent Event = UnityGameFramework.Runtime.GameEntry.GetComponent <EventComponent>(); // 获取框架数据表组件 DataTableComponent DataTable = UnityGameFramework.Runtime.GameEntry.GetComponent <DataTableComponent>(); // 订阅加载成功事件 Event.Subscribe(UnityGameFramework.Runtime.LoadDataTableSuccessEventArgs.EventId, OnLoadDataTableSuccess); // 加载配置表 DataTable.LoadDataTable <DRheros>("Hero", "Assets/Demo/DataTable/heros.txt", GameFramework.LoadType.Text); }
protected internal override void OnEnter(IFsm <IProcedureManager> procedureOwner) { base.OnEnter(procedureOwner); // 获取框架事件组件 EventComponent Event = UnityGameFramework.Runtime.GameEntry.GetComponent <EventComponent>(); Event.Subscribe(NetworkConnectedEventArgs.EventId, OnConnected); // 获取框架网络组件 NetworkComponent Network = UnityGameFramework.Runtime.GameEntry.GetComponent <NetworkComponent>(); // 创建频道 m_NetworkChannelHelper = new NetworkChannelHelper(); m_Channel = Network.CreateNetworkChannel("testName", ServiceType.Tcp, m_NetworkChannelHelper); // 连接服务器 m_Channel.Connect(IPAddress.Parse("127.0.0.1"), 8098); }
// Use this for initialization void Start() { _eventComponent = GameEntry.GetComponent <EventComponent>(); _baseComponent = GameEntry.GetComponent <BaseComponent>(); _resourceComponent = GameEntry.GetComponent <ResourceComponent>(); if (!_baseComponent) { Debug.LogError("Base component is invalid."); return; } if (!_baseComponent.EditorResourceMode) { _resourceComponent.SetResourceMode(ResourceMode.Package); var eventArgs = ReferencePool.Acquire <UnityGameFramework.Runtime.ResourceInitCompleteEventArgs>(); _eventComponent.Subscribe(eventArgs.Id, _loadAsset); ReferencePool.Release(eventArgs); _resourceComponent.InitResources(); } else { _load(); } }
protected override void OnEnter(ProcedureOwner procedureOwner) { base.OnEnter(procedureOwner); // 启动服务器(服务端的代码随便找随便改的,大家可以忽略,假设有个服务端就行了) Demo8_SocketServer.Start(); // 获取框架事件组件 EventComponent Event = UnityGameFramework.Runtime.GameEntry.GetComponent <EventComponent> (); Event.Subscribe(NetworkConnectedEventArgs.EventId, OnConnected); // 获取框架网络组件 NetworkComponent Network = UnityGameFramework.Runtime.GameEntry.GetComponent <NetworkComponent> (); // 创建频道 m_NetworkChannelHelper = new NetworkChannelHelper(); m_Channel = Network.CreateNetworkChannel("testName", m_NetworkChannelHelper); // 连接服务器 m_Channel.Connect(IPAddress.Parse("127.0.0.1"), 8098); }
public static void Subscribe(this EventComponent eventComponent, EventId eventId, EventHandler <GameEventArgs> handler) { eventComponent.Subscribe((UnityGameFramework.Runtime.EventId)eventId, handler); }