Nie możesz wybrać więcej, niż 25 tematów
Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
To repozytorium jest zarchiwizowane. Możesz wyświetlać pliki i je sklonować, ale nie możesz do niego przepychać zmian lub otwierać zgłoszeń/Pull Requestów.
|
- using System;
- using System.Collections.Generic;
- using UnityEngine;
-
- namespace coa4u
- {
- class ActionIf : ActionInterval
- {
- protected ActionInstant action;
- protected Predicate predicate;
- protected bool started;
-
- public ActionIf(Predicate targetPredicate, ActionInstant targetAction)
- : base(0)
- {
- action = targetAction;
- predicate = targetPredicate;
- }
-
- public override ActionInstant Clone()
- {
- return new ActionIf(predicate, action);
- }
-
- public override ActionInstant Reverse()
- {
- return new ActionIf(predicate, action.Reverse());
- }
-
- public override void Start()
- {
- base.Start();
- if (predicate.check())
- {
- started = true;
- action.SetActor(target);
- action.Start();
- duration = action.duration;
- }
- else
- {
- running = false;
- }
- }
-
- public override void StepTimer(float dt)
- {
- if (!started)
- return;
- dt *= timeScale;
- if (action.running)
- action.StepTimer(dt);
- if (!action.running)
- {
- Stop();
- dtr = action.dtr;
- }
- }
-
- public override void Stop()
- {
- base.Stop();
- action.Stop();
- }
- }
- }
|