Beispiel #1
0
 public void ToggleBackToFollowingPlayerAfterImplodingImpact()
 {
     theObjectThatMeteorIsCathedBy = null;
     isAvaiableForInteraction      = true;
     alredyIteractingWithImploder  = false;
     ToggleToMoveTowardsPlayer();
 }
    public Imploder SpawnImploder(Vector3 _spawnPosition)
    {
        Imploder spawnedImploder = InstantiateModule.InstantiateObjectWithScript <Imploder>(PrefabCollection.Imploder);

        spawnedImploder.Setup();
        ForceObjectCloud spawnedForceObjectCloud = InstantiateModule.InstantiateObjectWithScript <ForceObjectCloud>(PrefabCollection.ForceObjectCloud);

        spawnedForceObjectCloud.transform.SetParent(spawnedImploder.transform);
        spawnedImploder.transform.position = _spawnPosition;
        return(spawnedImploder);
    }
Beispiel #3
0
 public void LaunchImploder(Vector3[] _path)
 {
     if (Imploders.Count > 0)
     {
         Imploder _imploder = Imploders.Dequeue();
         _imploder.ActivateDriftBehaviour(_path);
         _imploder.MoveBackToPlayersArsenal = false;
         _imploder.MoveOutFromInteractingWithEnemiesList = false;
         _imploder.MoveToInteractingWithEnemiesList      = false;
         SimulationInstance.launchedImploders.Add(_imploder);
     }
 }
Beispiel #4
0
    public void LaunchInteraction(IInteractableWithEnemy _targetObject)
    {
        interactionTarget = _targetObject.GetReferenceToMainObject();
        var _interactionType = _targetObject.GetInteractionType();

        if (_interactionType == InteractionType.Explosion)
        {
            PushOutFromExplosionPosition(interactionTarget.GetPosition(), interactionTarget.GetDamage());
            SubtractHp(interactionTarget.GetDamage());
        }
        else if (_interactionType == InteractionType.Implosion && alredyIteractingWithImploder == false)
        {
            alredyIteractingWithImploder  = true;
            theObjectThatMeteorIsCathedBy = interactionTarget.GetReferenceToObject() as Imploder;
            ToggleToMoveTowardsTargetAsImploded();
        }
    }
Beispiel #5
0
 public Martyr(
     Imploder <IDisposable> imploder)
 {
     this.imploder = imploder ?? new Imploder <IDisposable>(
         defaultCapacity);
 }