public virtual bool RestoreTimeManipulatableObject(ITimeManipulatableController virtualController)
    {
        if (IsVirtualControllerDestroyed(virtualController))
        {
            return(false);
        }

        virtualController.UpdateTimeFactor(TimeRestoreFactor());
        return(timeManipulatableObjects.Remove(virtualController));
    }
Esempio n. 2
0
    // 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);
    }
Esempio n. 4
0
    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);
 }