コード例 #1
0
ファイル: Dingo.cs プロジェクト: cbachich/BabyFarmer2018
 private void PickupBaby(BabyMovement babyMovement)
 {
     babyMovement.WasPickedUp();
     gameObject.GetComponent <AudioSource> ().Play();
     heldBaby        = babyMovement;
     currentBehavior = DingoBehaviorState.LeavingWithBaby;
 }
コード例 #2
0
ファイル: Dingo.cs プロジェクト: cbachich/BabyFarmer2018
    private BabyMovement FindClosestBaby()
    {
        var allBabies = FindObjectsOfType <BabyMovement>();

        if (allBabies == null)
        {
            return(null);
        }

        float        minDistSqrd = 100000f;
        BabyMovement closeBaby   = null;

        for (int i = 0; i < allBabies.Length; i++)
        {
            if (allBabies[i].BabyState == BabyState.Carried)
            {
                continue;
            }

            float distSqrd = (transform.position - allBabies[i].transform.position).sqrMagnitude;
            if (distSqrd < minDistSqrd)
            {
                minDistSqrd = distSqrd;
                closeBaby   = allBabies[i];
            }
        }
        return(closeBaby);
    }
コード例 #3
0
ファイル: Dingo.cs プロジェクト: cbachich/BabyFarmer2018
 private void DropBaby()
 {
     if (heldBaby != null)
     {
         heldBaby.transform.position = transform.position;
         heldBaby.WasDropped();
         heldBaby = null;
     }
 }
コード例 #4
0
 public void handCollisionDetection(BabyMovement otherBaby)
 {
     if (this == otherBaby)
     {
         return;
     }
     else if (currentState != PlayerState.crying && canCry)
     {
         startCrying();
     }
 }
コード例 #5
0
    public void DropResource()
    {
        holdingState = PlayerHoldingState.Nothing;

        if (heldBaby != null)
        {
            var position = transform.position;
            position.x -= 1.0f;
            heldBaby.transform.position = position;
            heldBaby.WasDropped();
            heldBaby = null;
        }
    }
コード例 #6
0
ファイル: Dingo.cs プロジェクト: cbachich/BabyFarmer2018
    private void LeaveWithBaby()
    {
        var targetPosition = startingPoint;
        var direction      = (targetPosition - transform.position).normalized;

        Move(direction * creepSpeed * Time.deltaTime);

        if ((transform.position - targetPosition).sqrMagnitude <= 1f)
        {
            if (ReturnedFromHunt != null)
            {
                ReturnedFromHunt(this, new DingoReturnedFromHuntEventArgs()
                {
                    WithBaby = true
                });
            }
            heldBaby.HandleBeingEaten();
            heldBaby = null;
        }
    }
コード例 #7
0
 // Use this for initialization
 void Start()
 {
     baby = GetComponentInParent <BabyMovement> ();
 }
コード例 #8
0
 private void Awake()
 {
     babyMovement = GetComponent <BabyMovement>();
 }
コード例 #9
0
 public void PickupBaby(BabyMovement babyMovement)
 {
     babyMovement.WasPickedUp();
     heldBaby     = babyMovement;
     holdingState = PlayerHoldingState.Baby;
 }