Beispiel #1
0
    public void BeCalled(Shopaholic callingShopaholic)
    {
        _navigator.BeCalled(callingShopaholic);
        _behaviorHandler.Run();

        return;
    }
Beispiel #2
0
    public override NodeState ParticularTick(Tick tick)
    {
        if (_shopaholic.FollowingCount >= 3)
        {
            _shopaholic.RegenerateHealth();
            return(NodeState.SUCCESS);
        }

        if (_shopaholic.GetRemainingDistance() < 1.0f)
        {
            _shopaholic.MoveRandomly();
        }

        Shopaholic visble = _shopaholic.NewVisible;

        if (visble != null)
        {
            if (visble.GetFollowedShopaholic() == null || visble.GetFollowedShopaholic().IsDead())
            {
                visble.BeCalled(_shopaholic);
            }
        }

        return(NodeState.RUNNING);
    }
Beispiel #3
0
    public void FollowPlayer()
    {
        _meshAgent.SetDestination(_player.GetMovingTransform().position);
        _shopaholicToFollow = null;

        return;
    }
    public void Tick(Shopaholic shopaholic)
    {
        if (_board != null)
        {
            _tree.Tick(_board, shopaholic);
        }

        return;
    }
    public override void ParticualEnter(Tick tick)
    {
        _shopaholic = tick.Target as Shopaholic;
        if (_shopaholic == null)
        {
            throw new Exception("Is not shopaholic");
        }

        return;
    }
Beispiel #6
0
    public override NodeState ParticularTick(Tick tick)
    {
        Shopaholic visble = _shopaholic.NewVisible;

        if (visble != null)
        {
            return(NodeState.SUCCESS);
        }

        return(NodeState.FAILURE);
    }
    private void CreateStartShopaholics(int count)
    {
        for (int i = 0; i < count; i++)
        {
            Shopaholic shopaholic = _pool.Spawn();
            shopaholic.Transform.position = Utils.GetRandomPositionOnMap();
            _shopaholics.Add(shopaholic);
        }

        return;
    }
Beispiel #8
0
    public override NodeState ParticularTick(Tick tick)
    {
        Shopaholic visble = _shopaholic.NewVisible;

        if (visble != null)
        {
            if (visble.GetFollowedShopaholic() == null || visble.GetFollowedShopaholic().IsDead())
            {
                visble.BeCalled(_shopaholic);
                return(NodeState.SUCCESS);
            }
        }

        return(NodeState.FAILURE);
    }
    public override NodeState ParticularTick(Tick tick)
    {
        Shopaholic followed = _shopaholic.GetFollowedShopaholic();

        if (followed != null)
        {
            _shopaholic.RunTowards(followed.Transform);
            if (_shopaholic.GetRemainingDistance() <= 0.7f)
            {
                return(NodeState.FAILURE);
            }
            return(NodeState.SUCCESS);
        }

        return(NodeState.ERROR);
    }
    public Shopaholic GetVisibleForShopaholic(Shopaholic shopaholic)
    {
        for (int i = 0; i < _shopaholics.Count; i++)
        {
            if (_shopaholics[i] == shopaholic)
            {
                continue;
            }
            if (Mathf.Abs((_shopaholics[i].Transform.position - shopaholic.Transform.position).magnitude) < 15.5f && _shopaholics[i].GetFollowedShopaholic() != shopaholic)
            {
                return(_shopaholics[i]);
            }
        }

        return(null);
    }
    public int GetFollowing(Shopaholic shopaholic)
    {
        int count = 0;

        for (int i = 0; i < _shopaholics.Count; i++)
        {
            if (_shopaholics[i] == shopaholic)
            {
                continue;
            }
            if (Mathf.Abs((_shopaholics[i].Transform.position - shopaholic.Transform.position).magnitude) < 15.5f && !_shopaholics[i].GetFollowedShopaholic() != shopaholic)
            {
                count++;
            }
        }

        return(count);
    }
Beispiel #12
0
 public void BeCalled(Shopaholic calling)
 {
     _shopaholicToFollow = calling;
     return;
 }