Skip to content

pjc0247/doggo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Doggo

A script engine for runtime inspection & modification. It gives you great boost for fast dev-test iteration.

Doggo is abandoned.

SOJU also includes runtime REPL and it replaces doggo.
https://github.com/pjc0247/get_soju#repl
Doggo
* Fast (Almost zero cost to execute small codeset)
* Runs everywhere
* Unstable (Uses SlowSharp as a backend which may not compatible with advanced syntaxes)

SOJU REPL
* Slow (Requires full recompilation to execute a single line)
* Only supports Win32/Android
* Stable (Uses same backend as Unity.)

Feature

  • Scripting with C# syntax.
  • Zero codings for integrating doggo!
  • Works with any platform.

Overview

Below code executes a Jump method from Player instance.
$(Player) is a special syntax which is exactly same as FindObjectOfType<Player>(). We'll explain more about it later.

$(Player).Jump();

Sugar for doggo!

Modify multiple type instances using $(TYPE)

$(Player).Jump();

This actually converted into:

foreach (var c in GameObject.FindObjectsOfType<Player>())
	c.Jump();

Get singleton type instance using #(TYPE)

#(Player).Hp

A notable difference between $ and # syntax is, # actually returns a value.
So, if you want to retrive a property value from one specific instance, always use # instead of $.

Below exmple applies damage to all Monter instances by Player.Atk value.

$(Monster).Damage( #(Player).Atk );

About

A script engine for runtime inspection & modification. It gives you great boost to fast dev-test iteration.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages