Ejemplo n.º 1
0
 protected GhostMover(
     Ghost ghost,
     GhostMovementMode movementMode,
     IMaze maze,
     Func <ValueTask <CellIndex> > getTargetCellPoint)
 {
     _getTargetCellPoint = getTargetCellPoint;
     Ghost              = ghost;
     MovementMode       = movementMode;
     _intersectionLogic = new(maze, ghost);
 }
Ejemplo n.º 2
0
    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>();
    }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
 private void Awake()
 {
     m_ghost = GetComponent <GhostLogic>();
 }
Ejemplo n.º 5
0
 protected override void onAwake()
 {
     m_ghost  = GetComponent <GhostLogic>();
     m_pacman = FindObjectOfType <PacmanLogic>();
     m_time   = 0;
 }