public void OnDeactivate(IMovementStyle nextStyle, ActivationReason reason) { if (reason == ActivationReason.Standard) { Object.Destroy(this); } }
void IMovementStyle.OnDeactivate(IMovementStyle nextStyle, ActivationReason reason) { if (_paused) { this.Pause(false); } this.OnDeactivate(nextStyle, reason); _activeStatus = false; }
void IMovementStyle.OnActivate(IMovementStyle lastStyle, ActivationReason reason) { if (_mode == UpdateMode.Inactive) { this.DetermineUpdateMode(); } _activeStatus = true; this.OnActivate(lastStyle, reason); }
void IMovementStyle.OnDeactivate(IMovementStyle nextStyle, ActivationReason reason) { if (_paused) { this.Pause(false); } this.OnDeactivate(nextStyle, reason); _activeStatus = false; if (_controller != null) { _controller.MovementControllerHit -= this.OnControllerHitHandler; } }
public static void ActivateItem(GameEntity entity, ActivationReason reason) { Queue <ActivationReason> activationQueue; if (entity.hasActivation) { activationQueue = entity.activation.ActivationQueue; activationQueue.Enqueue(reason); entity.ReplaceActivation(activationQueue); } else { activationQueue = new Queue <ActivationReason>(); activationQueue.Enqueue(reason); entity.AddActivation(activationQueue); } }
private void ActivateItem(GameEntity entity, ActivationReason reason) { entity.isCanBeActivatedByBottom = false; Queue <ActivationReason> activationQueue; if (entity.hasActivation) { activationQueue = entity.activation.ActivationQueue; activationQueue.Enqueue(reason); entity.ReplaceActivation(activationQueue); } else { activationQueue = new Queue <ActivationReason>(); activationQueue.Enqueue(reason); entity.AddActivation(activationQueue); } }
protected virtual void OnDeactivate(IMovementStyle nextStyle, ActivationReason reason) { }
protected virtual void OnActivate(IMovementStyle lastStyle, ActivationReason reason) { }
private void ProcessActivation(ActivationReason activationReason, GameEntity entity) { switch (activationReason) { case ActivationReason.Touch: if (entity.matchGroup.Count >= 2) { if (entity.isPositiveItem) { var match = _contexts.game.CreateEntity(); match.AddPositiveItemMatch(entity.id.Value); ActivateItem(match); } else { var match = _contexts.game.CreateEntity(); match.AddColorMatch(entity.id.Value); ActivateItem(match); } break; } ActivateItem(entity); break; case ActivationReason.PuzzlePuzzle: if (entity.isPositiveItem && !Equals(entity.itemType.Value, ItemType.Puzzle)) { ActivateItem(entity); break; } ExplodeItem(entity); break; case ActivationReason.Tnt: case ActivationReason.Rotor: if (entity.isPositiveItem) { ActivateItem(entity); break; } ExplodeItem(entity); break; case ActivationReason.God: case ActivationReason.Bottom: case ActivationReason.NearMatch: ExplodeItem(entity); break; case ActivationReason.Puzzle: ActivateItem(entity); break; default: Debug.LogError("No Behaviour for activation Reason defined"); break; } }
public static void TryActivateItemWithPositive(Vector2Int touchPos, int removerId, ActivationReason activationReason) { var contexts = Contexts.sharedInstance; if (!InBounds(contexts, touchPos)) { return; } var cellItem = contexts.game.GetEntityWithCellItemId(new Tuple <int, int>(touchPos.x, touchPos.y)); var item = contexts.game.GetItemWithPosition(touchPos); if (cellItem != null && cellItem.isCanStopItemActivation) { cellItem.isWillBeDestroyed = true; return; } if (item == null) { return; } if (item.isCantBeActivated) { return; } var removerSet = item.removers.Set; if (removerSet.Contains(removerId)) { return; } if (item.isRemoverSensitive) { removerSet.Add(removerId); item.ReplaceRemovers(removerSet); } if (item.hasColorSensitive) { ReduceColorSensitivityPositive(item); } if (item.isColorCopying && !item.hasColorSensitive) { var possibleColors = new[] { Color.Blue, Color.Red, Color.Green, Color.Yellow }; var randColor = possibleColors.Shuffle().First(); var colors = new Dictionary <Color, int> { [randColor] = 1 }; item.AddColorSensitive(colors); item.AddColor(randColor); } if (cellItem != null && cellItem.isCanBeActivatedByInnerMatch && item.isInnerMatchItem) { cellItem.isWillBeDestroyed = true; } ActivateItem(item, activationReason); }
public void OnActivate(IMovementStyle lastStyle, ActivationReason reason) { }