public virtual bool RestoreTimeManipulatableObject(ITimeManipulatableController virtualController) { if (IsVirtualControllerDestroyed(virtualController)) { return(false); } virtualController.UpdateTimeFactor(TimeRestoreFactor()); return(timeManipulatableObjects.Remove(virtualController)); }
// Use this for initialization void Start() { timeManipulatableController = GetComponent <ITimeManipulatableController> (); if (timeManipulatableController == null) { timeManipulatableController = new NullTimeManipulatableController(); } lifeTimer = new Timer(GetLifeTimeSec()); StartLifeTime(); }
void OnTriggerExit(Collider collider) { ITimeManipulatableController virtualController = collider.GetComponent <ITimeManipulatableController> (); if (collider.isTrigger || virtualController == null) { return; } RestoreTimeManipulatableObject(virtualController); }
void Start() { bodyMass = GetBodyMass(); drag = GetDrag(); angularDrag = GetAngularDrag(); normalSpeed = GetNormalSpeed(); runSpeedMax = GetRunSpeedMax(); runSpeedIncrement = GetRunSpeedIncrement(); turnSpeed = GetTurnSpeed(); maxHP = GetMaxHP(); rigidBody = GetComponent <Rigidbody> (); if (rigidBody == null) { rigidBody = gameObject.AddComponent <Rigidbody> (); } rigidBody.mass = bodyMass; rigidBody.drag = drag; rigidBody.angularDrag = angularDrag; rigidBody.freezeRotation = true; rigidBody.isKinematic = false; healthController = GetComponent <IHealthController> (); if (healthController == null) { healthController = new NullHealthController(); } jumpController = GetComponent <IJumpController> (); if (jumpController == null) { jumpController = new NullJumpAttributes(); } interactionController = GetComponent <IInteractionController> (); if (interactionController == null) { interactionController = new NullInteractionController(); } timeManipulatableController = GetComponent <ITimeManipulatableController> (); if (timeManipulatableController == null) { timeManipulatableController = new NullTimeManipulatableController(); } combatController = GetComponent <ICombatController> (); if (combatController == null) { combatController = new NullCombatController(); } timePauseProjectileAttackController = GetComponent <TimePauseProjectileAttackController> (); if (timePauseProjectileAttackController == null) { timePauseProjectileAttackController = new NullProjectileAttackController(); } timeSlowProjectileAttackController = GetComponent <TimeSlowProjectileAttackController> (); if (timeSlowProjectileAttackController == null) { timeSlowProjectileAttackController = new NullProjectileAttackController(); } }
private bool IsVirtualControllerDestroyed(ITimeManipulatableController virtualController) { return(virtualController == null); }
private ITimeManipulatableController [] getTimeManipulatableObjects() { ITimeManipulatableController [] objects = new ITimeManipulatableController [timeManipulatableObjects.Count]; timeManipulatableObjects.CopyTo(objects); return(objects); }
public virtual bool RestoreTimeManipulatableObject(ITimeManipulatableController virtualController) { return(false); }