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); }
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); } }
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(); } }
public Martyr( Imploder <IDisposable> imploder) { this.imploder = imploder ?? new Imploder <IDisposable>( defaultCapacity); }