public override void UpdatePhysics() { if (GetActionName() == "restart") { ResetPlayer(); } else if (actuatorsMap.ContainsKey(GetActionName())) { if (!Done) { Actuator a = actuatorsMap[GetActionName()]; if (!a.always) { a.Act(); } } } else if (GetActionName() == "ResetReward") { reward = 0; } else if (GetActionName() == "SetMaxSteps") { this.MaxStepsPerEpisode = GetActionArgAsInt(); } if (!Done) { int n = alwaysActuators.Count; if (n > 0) { for (int i = 0; i < n; i++) { alwaysActuators[i].Act(); } } } }
public virtual void OnAction(Actuator actuator) { }