protected GhostMover( Ghost ghost, GhostMovementMode movementMode, IMaze maze, Func <ValueTask <CellIndex> > getTargetCellPoint) { _getTargetCellPoint = getTargetCellPoint; Ghost = ghost; MovementMode = movementMode; _intersectionLogic = new(maze, ghost); }
private void Awake() { m_subscriberList.Add(new Event <TakePowerupEvent> .Subscriber(onPickPowerup)); m_subscriberList.Subscribe(); m_animator = GetComponent <Animator>(); m_coloredGhost = GetComponent <BaseColoredGhostLogic>(); m_vulnerableGhost = GetComponent <VulnerableGhostLogic>(); m_eatenGhost = GetComponent <EatenGhostLogic>(); m_ghost = GetComponent <GhostLogic>(); }
/// <summary> /// Создание логики для врага. /// </summary> /// <param name="parLevel">Уровень.</param> /// <param name="parObject">Целевой объект.</param> /// <returns>Объект логики для врага.</returns> public static ILogic CreateLogic(GameModel parLevel, EnemyObject parObject) { ILogic logic = null; switch (parObject.Type) { case EnemyObjectType.Slime: logic = new SlimeLogic(parLevel, parObject); break; case EnemyObjectType.Bat: logic = new BatLogic(parLevel, parObject); break; case EnemyObjectType.Ghost: logic = new GhostLogic(parLevel, parObject); break; } return(logic); }
private void Awake() { m_ghost = GetComponent <GhostLogic>(); }
protected override void onAwake() { m_ghost = GetComponent <GhostLogic>(); m_pacman = FindObjectOfType <PacmanLogic>(); m_time = 0; }