Example #1
0
        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();
        }
Example #2
0
    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");
 }
Example #4
0
    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);
        }
Example #6
0
    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);
    }
Example #7
0
    // 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);
        }
Example #9
0
    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");
    }
Example #13
0
 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);
    }
Example #16
0
    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);
    }
Example #18
0
    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);
    }
Example #24
0
 public static void Subscribe(this EventComponent eventComponent, EventId eventId, EventHandler <GameEventArgs> handler)
 {
     eventComponent.Subscribe((UnityGameFramework.Runtime.EventId)eventId, handler);
 }