Esempio n. 1
0
 private bool CanInteractWithMine()
 {
     if (ClosestObject != null && ClosestObject.GetComponent <ResourceMine>() != null)
     {
         NearbyResourceMine = ClosestObject.GetComponent <ResourceMine>();
     }
     if (NearbyResourceMine == null)
     {
         return(false);
     }
     if (!NearbyResourceMine.CanBeCollected)
     {
         return(false);
     }
     if (NearbyResourceMine.NeedsItemToInteract)
     {
         if (NearbyResourceMine.CanBeCollected && _inventory.HandEquipment.IsOccupied && _inventory.HandEquipment.InvSlotContent.Item && _inventory.HandEquipment.InvSlotContent.Item.Type == NearbyResourceMine.NeededItem)
         {
             return(true);
         }
     }
     else
     {
         return(true);
     }
     return(false);
 }
Esempio n. 2
0
 private void Update()
 {
     _timeOnFire += Time.deltaTime;
     if (_timeOnFire >= _maximumTimeOnFire)
     {
         GameObject firePrefab = transform.Find("Fire Prefab").gameObject;
         firePrefab.SetActive(false);
         if (GetComponent <Campfire>() == null)
         {
             if (GetComponent <ResourceMine>() != null)
             {
                 ResourceMine resourceMine = GetComponent <ResourceMine>();
                 resourceMine.CanBeCollected = false;
                 resourceMine.CanBeSetOnFire = false;
                 //Destroy(resourceMine);
             }
             else if (GetComponent <ResourceDrop>() != null)
             {
                 //Destroy(GetComponent<ResourceDrop>());
             }
             GameObject burntSprite = transform.Find("Burnt Sprite").gameObject;
             GetComponent <SpriteRenderer>().enabled = false;
             burntSprite.SetActive(true);
             GetComponent <BoxCollider2D>().enabled = false;
         }
         Invoke("RemoveAsh", 5f);
     }
 }
Esempio n. 3
0
    private bool CanExtinguish()
    {
        // Checking if the player has Full Bucket Equiped
        if (_inventory.HandEquipment.IsOccupied && _inventory.HandEquipment.InvSlotContent.Item.Type == Item.ItemType.FullBucket)
        {
            // TODO: Select the closest object to the player
            foreach (GameObject col in AllInstructionsObjectsColliders)
            {
                if (col.transform.tag == "Resource Mine")
                {
                    NearbyResourceMine = col.GetComponent <ResourceMine>();
                    if (NearbyResourceMine.IsOnFire)
                    {
                        return(true);
                    }
                }
                else if (col.transform.tag == "Resource Drop")
                {
                    NearbyResourceDrop = col.GetComponent <ResourceDrop>();
                    if (NearbyResourceDrop.IsOnFire)
                    {
                        return(true);
                    }
                }
                else if (col.transform.tag == "Campfire")
                {
                    NearbyCampfire = col.GetComponent <Campfire>();
                    if (NearbyCampfire.IsOnFire)
                    {
                        return(true);
                    }
                }
            }

            /*if (NearbyResourceMine != null && NearbyResourceMine.IsOnFire)
             * {
             *  return true;
             * }
             * else if (NearbyResourceDrop != null && NearbyResourceDrop.IsOnFire)
             * {
             *  return true;
             * }
             * else if (NearbyCampfire != null && NearbyResourceDrop.IsOnFire)
             * {
             *  return true;
             * }*/
        }
        return(false);
    }
Esempio n. 4
0
    // Check whether the nearby object can be set on fire
    private void SetOnFire()
    {
        if (ClosestObject == null)
        {
            return;
        }
        if (ClosestObject.GetComponent <ResourceMine>() != null)
        {
            NearbyResourceMine = ClosestObject.GetComponent <ResourceMine>();
        }
        else if (ClosestObject.GetComponent <ResourceDrop>() != null)
        {
            NearbyResourceDrop = ClosestObject.GetComponent <ResourceDrop>();
        }
        else if (ClosestObject.GetComponent <Campfire>() != null)
        {
            NearbyCampfire = ClosestObject.GetComponent <Campfire>();
        }

        if (NearbyResourceMine != null && NearbyResourceMine.CanBeSetOnFire)
        {
            //SFX: fire
            ActivateFirePrefab(NearbyResourceMine.gameObject, false);
            NearbyResourceMine.IsOnFire = true;
        }
        else if (NearbyResourceDrop != null && NearbyResourceDrop.CanBeSetOnFire)
        {
            //SFX: fire
            ActivateFirePrefab(NearbyResourceDrop.gameObject, false);
            NearbyResourceDrop.IsOnFire = true;
        }
        else if (NearbyCampfire != null && NearbyCampfire)
        {
            //SFX: fire
            ActivateFirePrefab(NearbyCampfire.gameObject, true);
            NearbyCampfire.IsOnFire = true;
            HideInstructionsSprite();
        }
    }
Esempio n. 5
0
    private void InteractWithMine(ResourceMine mine)
    {
        HideInstructionsSprite();
        //SFX: pickaxe swing
        int amountmountOfDrop = mine.Amount;

        if (mine.BigMine)
        {
            amountmountOfDrop *= 2;
        }
        for (int i = 0; i < amountmountOfDrop; i++)
        {
            int          randomNumber    = Random.Range(-3, 4);
            Vector3      positionToSpawn = new Vector3(mine.transform.position.x + randomNumber, mine.transform.position.y + randomNumber, mine.transform.position.z);
            ResourceDrop ResourceDrop    = Instantiate(ResourceDropPrefab, positionToSpawn, Quaternion.identity).GetComponent <ResourceDrop>();

            ResourceDrop.Type = mine.Type;
            if (ResourceDrop.Type == Resource.ResourceType.Wood || ResourceDrop.Type == Resource.ResourceType.Leaf)
            {
                ResourceDrop.CanBeSetOnFire = true;
            }
            ResourceDrop.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>("Sprites/" + mine.Type.ToString());
            ResourceDrop.Consubamle = mine.ConsumableDrop;
            if (ResourceDrop.Consubamle)
            {
                ResourceDrop.EffectOnPlayer = mine.EffectOnPlayer;
            }
        }
        _firstInstruction  = true;
        NearbyResourceMine = null;
        if (mine.WillBeDestroyed)
        {
            Destroy(mine.gameObject);
        }
        else if (mine.WillChangeSprite)
        {
            mine.GetComponent <SpriteRenderer>().sprite = mine.SpriteToChangeTo;
            mine.CanBeCollected = false;
        }
        if (mine.Type2 != Resource.ResourceType.None)
        {
            for (int i = 0; i < amountmountOfDrop; i++)
            {
                int          randomNumber    = Random.Range(-1, 2);
                Vector3      positionToSpawn = new Vector3(mine.transform.position.x + randomNumber, mine.transform.position.y + randomNumber, mine.transform.position.z);
                ResourceDrop ResourceDrop    = Instantiate(ResourceDropPrefab, positionToSpawn, Quaternion.identity).GetComponent <ResourceDrop>();

                ResourceDrop.Type = mine.Type2;
                if (ResourceDrop.Type == Resource.ResourceType.Wood || ResourceDrop.Type == Resource.ResourceType.Leaf)
                {
                    ResourceDrop.CanBeSetOnFire = true;
                }
                ResourceDrop.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>("Sprites/" + mine.Type.ToString());
                ResourceDrop.Consubamle = mine.ConsumableDrop;
                if (ResourceDrop.Consubamle)
                {
                    ResourceDrop.EffectOnPlayer = mine.EffectOnPlayer;
                }
            }
            if (mine.WillBeDestroyed)
            {
                Destroy(mine.gameObject);
            }
            else if (mine.WillChangeSprite)
            {
                mine.GetComponent <SpriteRenderer>().sprite = mine.SpriteToChangeTo;
                mine.CanBeCollected = false;
            }
        }
    }
Esempio n. 6
0
    private void OnTriggerExit2D(Collider2D col)
    {
        if (AllInstructionsObjectsColliders.Contains(col.gameObject))
        {
            //GetClosestObject("Exit");
            AllInstructionsObjectsColliders.Remove(col.gameObject);
            if (ClosestObject != null && ClosestObject == col.gameObject)
            {
                HideInstructionsSprite();
                if (ClosestObject.GetComponent <ResourceMine>() != null)
                {
                    NearbyResourceMine = null;
                }
                else if (ClosestObject.GetComponent <ResourceDrop>() != null)
                {
                    NearbyResourceDrop = null;
                }
                else if (ClosestObject.GetComponent <ItemDrop>() != null)
                {
                    NearbyItemDrop = null;
                }
                else if (ClosestObject.GetComponent <Campfire>() != null)
                {
                    NearbyCampfire = null;
                }
                ClosestObject = null;
            }

            /*if (col.transform.Find("Instructions Image") != null)
             * {
             *  if (_instructionsToggled.Contains(col.transform.Find("Instructions Image").gameObject))
             *      _instructionsToggled.Remove(ClosestObject.transform.Find("Instructions Image").gameObject);
             *  col.gameObject.transform.Find("Instructions Image").gameObject.SetActive(false);
             * }*/
            //HideInstructionsSprite();
        }

        /*if (col.GetComponent<ResourceMine>() != null)
         * {
         *  if (NearbyResourceMine == col.GetComponent<ResourceMine>())
         *  {
         *      NearbyResourceMine = null;
         *  }
         * }
         * else if (col.GetComponent<ResourceDrop>() != null)
         * {
         *  if (NearbyResourceDrop == col.GetComponent<ResourceDrop>())
         *  {
         *      NearbyResourceDrop = null;
         *  }
         * }
         * else if (col.GetComponent<ItemDrop>() != null)
         * {
         *  if (NearbyItemDrop == col.GetComponent<ItemDrop>())
         *  {
         *      NearbyItemDrop = null;
         *  }
         * }
         * else if (col.GetComponent<Campfire>() != null)
         * {
         *  if (NearbyCampfire == col.GetComponent<Campfire>())
         *  {
         *      NearbyCampfire = null;
         *  }
         * }*/
    }