gmich / gem Goto Github PK
View Code? Open in Web Editor NEWA cross-platform game engine with GUI and multiplayer support using Monogame, Farseer and Lidgren
License: MIT License
A cross-platform game engine with GUI and multiplayer support using Monogame, Farseer and Lidgren
License: MIT License
Use debug flags. Debugging should be rendered and logged
Use conditionals to manage different platform builds
[Client(Configuration="Default",MessageType="Shoot")]
public void Shoot(NetIncomingMessage im)
{ ........}
Example:
cmd>help
should display all the available help information
cmd>help command
should display the command specific help
var config = NetworkDirector[this.ActiveConfig,incomingMessage.Type,(byte)incomingMessage.ReadByte())];
ConfigurationVisitor.Handle(config);
When the text is larger than the prompt, it goes off bounds. Calculate the cmd's width and change line when exceeding
HandleWith(this,x=> new Action(x.Do));
cache the object's name as string , and the delegate's (x.Do) name as string
also cache the whole networkConfig (eventHandler etc).
When disposing an eventHandler, the cached entry should be removed as well
For a successful lookup, the networkConfig.INetworkHandler is returned.
It shouldn't be in a hashtable or a dictionary.
Use GenericRepository. The lookup should match both entries.
ICommunicationProtocol : INetworkPackage
Client: WithTag ("tag") / ForType (MessageType.Data) / Send(message)
Client: Dynamically create an object with a random name and a string property
Client: .HandleWith <- generic Action that applies to Send
Client: Dynamically create a method that handles objects by tag
Client: Encapsulate the object with its tag
Client: Create an object - stream converter
Client: Serialize it and add it to the Client.SendMessage event with the client's connection (for exclusion)
Server: Broadcast all incoming messages
Client: Receive message and handle it by it's tag
var client = new GemClient(ClientSettings.Default);
where Default is a static property that returns the default settings
OnConnecting() <-- no authorization
OnDisconnecting() <--bye bye message
etc...
The camera must have multiple targets.
Al it should be able to take scripts for the movement
Make it unit testable
When this occurs, everything that is drawn before the controls is being discarded
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.