void PutUse(BehaviorUse use) { OnBeforeAnyChange(); var brain = GetBrain(); brain.SetUse(use); GetBehaviorSystem().PutBrain(GetBrainId(), brain); }
void PutTestUse(TestUse test) { var use = new BehaviorUse { behaviorUri = test.behaviorUri, id = NewGUID() }; var brain = new Brain { behaviorUses = new BehaviorUse[] { use } }; behaviorSystem.PutBrain(test.brainId, brain); }
public IEnumerator TestBasic() { yield return(Setup()); VoosActor actor = voosEngine.CreateActor(new Vector3(1, 2, 3), Quaternion.identity, _ => { }); Assert.NotNull(actor); Assert.AreEqual(1.0, actor.GetTint().r, 1e-4); string brainId = actor.GetBrainName(); string behaviorId = NewGUID(); string js = @" export function onTick(api) { setTint(0.12, 0.34, 0.56); } "; behaviorSystem.PutBehavior(behaviorId, new Behavior { javascript = js }); var use = new BehaviorUse { id = NewGUID(), behaviorUri = IdToEmbeddedBehaviorUri(behaviorId) }; var brain = new Brain { behaviorUses = new BehaviorUse[] { use } }; behaviorSystem.PutBrain(brainId, brain); // Let it run at least one voos update yield return(new WaitForEndOfFrame()); yield return(new WaitForEndOfFrame()); Assert.AreEqual(0.12, actor.GetTint().r, 1e-4); }