All Projects → HiFramework → HiFramework.Unity

HiFramework / HiFramework.Unity

Licence: other
Based on component to manage project's core logic and module used in unity3d

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to HiFramework.Unity

Myutils
🙏 提供时间轴转星座|生肖工具、系统存储空间获取工具、文件大小格式化工具、获取指定文件大小工具、AES加密解码工具(支持android端平台加密解密,java端和android端相互加密解密)、SharePreference操作工具、 File文件操作工具、日期获取和计算工具、界面跳转Intent操作工具、字符串验证和数值转换操作工具、手机震动工具、系统资源操作工具、网络检测工具、 wifi操作工具、单位换算工具、zip压缩和解压操作工具、XML解析操作工具(只支持几种指定格式)、图片加载和处理工具,数据库操作(增删改查)工具、Base64编码解码工具、MD5加密工具。
Stars: ✭ 130 (+490.91%)
Mutual labels:  aes, zip
Async Sockets Cpp
Simple thread-based asynchronous TCP & UDP Socket classes in C++.
Stars: ✭ 127 (+477.27%)
Mutual labels:  socket, thread
alveare
🐝 Multi-client, multi-threaded reverse shell handler written in Node.js
Stars: ✭ 68 (+209.09%)
Mutual labels:  socket, thread
Lightio
LightIO is a userland implemented green thread library for ruby
Stars: ✭ 165 (+650%)
Mutual labels:  thread, io
Backdoor
A backdoor that runs on Linux and Windows
Stars: ✭ 36 (+63.64%)
Mutual labels:  aes, zip
Gear Lib
Gear-Lib, C library for IOT Embedded Multimedia and Network
Stars: ✭ 2,381 (+10722.73%)
Mutual labels:  thread, event
Socket
Non-blocking socket and TLS functionality for PHP based on Amp.
Stars: ✭ 122 (+454.55%)
Mutual labels:  socket, io
purescript-wire
Events and Signals for FRP. Monad instances included
Stars: ✭ 13 (-40.91%)
Mutual labels:  event, signal
ZipArchive
A single-class pure VB6 library for zip with ASM speed
Stars: ✭ 38 (+72.73%)
Mutual labels:  aes, zip
python-PooledProcessMixIn
Fast Concurrent Pool of preforked-processes and threads MixIn for python's socket server
Stars: ✭ 31 (+40.91%)
Mutual labels:  thread, pool
Oeasypool
c++11 thread pool
Stars: ✭ 18 (-18.18%)
Mutual labels:  thread, pool
echo-server
Echo Server is a Docker-ready, multi-scalable Node.js application used to host your own Socket.IO server for Laravel Broadcasting.
Stars: ✭ 32 (+45.45%)
Mutual labels:  socket, io
fastthreadpool
An efficient and lightweight thread pool
Stars: ✭ 27 (+22.73%)
Mutual labels:  thread, pool
Iostreams
IOStreams is an incredibly powerful streaming library that makes changes to file formats, compression, encryption, or storage mechanism transparent to the application.
Stars: ✭ 84 (+281.82%)
Mutual labels:  zip, io
Eventpp
Minimal C++ Event Bus
Stars: ✭ 69 (+213.64%)
Mutual labels:  event, signal
Hisocket
It is a lightweight client socket solution, you can used it in C# project or Unity3d
Stars: ✭ 275 (+1150%)
Mutual labels:  socket, plugins
fine
🧹 Gracefully shutdown Node.js application: help you handle exit signals and cleanup
Stars: ✭ 20 (-9.09%)
Mutual labels:  event, signal
Sc
Common libraries and data structures for C.
Stars: ✭ 161 (+631.82%)
Mutual labels:  socket, thread
vim-rzip
Extends zip.vim to browse and write nested zip files
Stars: ✭ 22 (+0%)
Mutual labels:  zip, plugins
SocketIOUnity
A Wrapper for socket.io-client-csharp to work with Unity.
Stars: ✭ 69 (+213.64%)
Mutual labels:  socket, io

HiFramework_unity

based on https://github.com/hiramtan/HiFramework

Packagist GitHub release


如何使用

  • 下载

    • 源码: HiFramework/HiFramework
    • Dll: Github Releases
  • 使用

        var io = Center.Get<IIOComponent>();
        io.ReadFile("path");

简介

概述:基于接口的组件维护框架,内置了常用的几个组件和扩展,支持用户添加自定义组件.
  • 基于接口实现:不关心具体实现只使用接口调用,方便快速替换实现方案
  • 基于组件实现:各功能模块组件相互独立不干扰
  • 基于绑定实现:用户可以自定义接口绑定实现
  • 可扩展:方便添加删除组件,即便是默认绑定组件用户也可以重写方法替换或删除
  • 逻辑分层:核心,组件,扩展

功能预览

  • 核心
  • 组件:
    • 异步任务
    • 事件
    • 注入
    • 消息
    • 对象池
    • 文件操作
  • 扩展:
    • 比特位扩展
    • 裁剪Float类型
    • 快速列表

自定义组件

 public override void Init()
    {
        base.Init();
        Bind<Example_Bind_ITest>().To<Example_Bind_ITestComponent>();
    }

示例

更多示例在:unity/Assets/Example

  • 异步任务
    • 延迟执行
          void Start()
          {
              Center.Init();
              new AsyncTaskWaitTime(OnLog,    10);
          }    
          // Update is called once per frame
          void Update()
          {
              Center.Tick(Time.deltaTime);
          }    
          void OnLog()
          {
              Debug.Log("wait for 10s");
          }
    • 定时器
       void Start()
       {
           Center.Init();    
           var task = new AsyncTaskRepea         (OnLog,   2);
           //task.Stop();
       }    
       // Update is called once per frame
       void Update()
       {
           Center.Tick(Time.deltaTime);
       }    
       void OnLog()
       {
           Debug.Log("log every 2s");
       }
  • 事件
Center.Init();
        var eventComponent = Center.Get<IEventComponent>();
        eventComponent.Subscribe<int>("key", OnEvent);

        eventComponent.Dispatch("key", 100);
  • 注入
        Center.Init();
        var inject = Center.Get<IInjectComponent>();
        inject.Bind<Example_Inject>().To(this);

        var newClass = new Example_Inject_NewClass();
        inject.Inject(newClass);
        newClass.Log();
  • 消息
          var signalComponent = Center.Get<ISignalComponent>();
          var signal = signalComponent.GetSignal<Example_Signal_Score>();
          signal.AddListener(OnSignal);
          signal.Fire(100);
- 对象池
  ```csharp
        Center.Tick(Time.deltaTime);
        _timeCounter += Time.deltaTime;
        if (_timeCounter > _timeRate)
        {
            _timeCounter = 0;
            var writer = _pool.GetOneObjectFromPool();
            //let writer do something that cost time, will reuse this write when it finish task
        }

wiki

旧文档:(更多文档查看wiki: https://github.com/hiramtan/HiFramework_unity/wiki ):

点击链接加入QQ群【83596104】:https://jq.qq.com/?_wv=1027&k=5l6rZEr

support: [email protected]


MIT License

Copyright (c) [2017] [Hiram]

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].