Code Monkey home page Code Monkey logo

kbengine_unity3d_plugins's Introduction

kbengine_unity3d_plugins

Usage

1: Create clientapp.cs
	using KBEngine;
	public class clientapp : KBEMain 
	{
	}

2: Implment the KBE defined entity (including the client part)
	See: kbengine\kbengine_demos_assets\scripts\entities.xml(hasClient="true") need to implment
		<Account hasClient="true"></Account>
		<Monster hasClient="true"></Monster>
		<Gate hasClient="true"></Gate>
		<Space/>

		public class Account : KBEngine.Entity 
		{
			// entity initialization
			public override void __init__()
			{
			}
		}

	Call entity server method
		entity.baseCall("base_func", 1, "arg2", "argN")
		entity.cellCall("cell_func", 1, "arg2", "argN")

3: Monitor KBE-plugins event
	For example:
		public class UI : MonoBehaviour
		{
			void Start () 
			{
				KBEngine.Event.registerOut("onConnectionState", this, "onConnectionState");
			}

			public void onConnectionState(bool success)
			{
				// KBE-plugins event fired
			}
		}

4: Fire events to the KBE-plugins
	For example:
		KBEngine.Event.fireIn("login", "stringAccount", "stringPasswd", System.Text.Encoding.UTF8.GetBytes("kbengine_unity3d_demo"));

KBE-Plugin fire-out events(KBE => Unity):

Entity events:
	onEnterWorld
		Description: 
			Entity enter the client-world.

		Event-datas: 
			Enity
			

	onLeaveWorld
		Description: 
			Entity leave the client-world.

		Event-datas: 
			Enity

	onEnterSpace
		Description: 
			Player enter the new space.

		Event-datas: 
			Enity

	onLeaveSpace
		Description: 
			Player enter the space.

		Event-datas: 
			Enity

	onCreateAccountResult
		Description: 
			Create account feedback results.

		Event-datas: 
			uint16: retcode
				http://kbengine.org/docs/configuration/server_errors.html

			bytes: datas
				If you use third-party account system, the system may fill some of the third-party additional datas.

	onControlled
		Description: 
			Triggered when the entity is controlled or out of control.

		Event-datas: 
			Enity
			bool: isControlled

	onLoseControlledEntity
		Description: 
			Lose controlled entity.

		Event-datas: 
			Enity

	set_position
		Description: 
			Sets the current position of the entity.

		Event-datas: 
			Enity

	set_direction
		Description: 
			Sets the current direction of the entity.

		Event-datas: 
			Enity

	updatePosition
		Description: 
			The entity position is updated, you can smooth the moving entity to new location.

		Event-datas: 
			Enity

Protocol events:
	onVersionNotMatch
		Description: 
			Engine version mismatch.

		Event-datas: 
			string: clientVersion
			string: serverVersion

	onScriptVersionNotMatch
		Description: 
			script version mismatch.

		Event-datas: 
			string: clientScriptVersion
			string: serverScriptVersion

	Loginapp_importClientMessages
		Description: 
			Importing the message protocol for loginapp and client.

		Event-datas: 
			No datas.

	Baseapp_importClientMessages
		Description: 
			Importing the message protocol for baseapp and client.

		Event-datas: 
			No datas.

	Baseapp_importClientEntityDef
		Description: 
			Protocol description for importing entities.

		Event-datas: 
			No datas.

Login and Logout status:
	onLoginBaseapp
		Description: 
			Login to baseapp.

		Event-datas: 
			No datas.

	onReloginBaseapp
		Description: 
			Relogin to baseapp.

		Event-datas: 
			No datas.

	onKicked
		Description: 
			Kicked of the current server.

		Event-datas: 
			uint16: retcode
				http://kbengine.org/docs/configuration/server_errors.html

	onLoginFailed
		Description: 
			Login failed.

		Event-datas: 
			uint16: retcode
			bytes: serverdatas
				http://kbengine.org/docs/configuration/server_errors.html

	onLoginBaseappFailed
		Description: 
			Login baseapp failed.

		Event-datas: 
			uint16: retcode
				http://kbengine.org/docs/configuration/server_errors.html

	onReloginBaseappFailed
		Description: 
			Relogin baseapp failed.

		Event-datas: 
			uint16: retcode
				http://kbengine.org/docs/configuration/server_errors.html

	onReloginBaseappSuccessfully
		Description: 
			Relogin baseapp success.

		Event-datas: 
			No datas.

Space events:
	addSpaceGeometryMapping
		Description: 
			The current space is specified by the geometry mapping.
			Popular said is to load the specified Map Resources.

		Event-datas: 
			string: resPath

	onSetSpaceData
		Description: 
			Server spaceData set data.

		Event-datas: 
			int32: spaceID
			string: key
			string value

	onDelSpaceData
		Description: 
			Server spaceData delete data.

		Event-datas: 
			int32: spaceID
			string: key

Network events:
	onConnectionState
		Description: 
			Status of connection server.

		Event-datas: 
			bool: success or fail

	onDisconnected
		Description: 
			Status of connection server.

		Event-datas: 
			No datas.

Download events:
	onStreamDataStarted
		Description: 
			Start downloading data.

		Event-datas: 
			uint16: resouce id
			uint32: data size
			string: description

	onStreamDataRecv
		Description: 
			Receive data.

		Event-datas: 
			uint16: resouce id
			bytes: datas

	onStreamDataCompleted
		Description: 
			The downloaded data is completed.

		Event-datas: 
			uint16: resouce id

KBE-Plugin fire-in events(Unity => KBE):

createAccount
		Description: 
			Create new account.

		Event-datas: 
			string: accountName
			string: password
			bytes: datas
				Datas by user defined.
				Data will be recorded into the KBE account database, you can access the datas through the script layer.
				If you use third-party account system, datas will be submitted to the third-party system.
			

login
		Description: 
			Login to server.

		Event-datas: 
			string: accountName
			string: password
			bytes: datas
				Datas by user defined.
				Data will be recorded into the KBE account database, you can access the datas through the script layer.
				If you use third-party account system, datas will be submitted to the third-party system.

reloginBaseapp
		Description: 
			Relogin to baseapp.

		Event-datas: 
			No datas.

resetPassword
		Description: 
			Reset password.

		Event-datas: 
			string: accountName

newPassword
		Description: 
			Request to set up a new password for the account.
			Note: account must be online

		Event-datas: 
			string: old_password
			string: new_password

bindAccountEmail
		Description: 
			Request server binding account Email.
			Note: account must be online

		Event-datas: 
			string: emailAddress

kbengine_unity3d_plugins's People

Contributors

kbengine avatar kebiao avatar jay602 avatar klights avatar likecg2010 avatar basesrv avatar zjsjmvn avatar angelic47 avatar wwwise avatar traditorez avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.