Exemplo n.º 1
0
 public void ReciveSacrifice(VillageItemEnum type)
 {
     float sValue = sacrificeFullValue;
     if (type != preferedSacrifice)
     {
         sValue *= reduceSacrificeValue;
     }
     sMeter.BoostByValue(sValue);
 }
Exemplo n.º 2
0
    public void ShowPayload(VillageItemEnum payloadType)
    {
        switch (payloadType)
        {
            case VillageItemEnum.eSavage:
                savage.SetActive(true);
                break;

            case VillageItemEnum.eAnimal:
                animal.SetActive(true);
                break;

            case VillageItemEnum.eFruit:
                fruit.SetActive(true);
                break;
        };

        gameObject.SetActive(true);
    }
Exemplo n.º 3
0
    public void SelfSacrifice( int queueSlot)
    {
        actionState = State.eQueueingItem;
        payLoadVillageItem = VillageItemEnum.eSelfSacrifice;
        Payload.ShowPayload(VillageItemEnum.eSelfSacrifice);
        mQueueSlot = queueSlot;
		MoveToPoint(SacrificeQueue.GetInstance().GetSlotPos(mQueueSlot));
    }
Exemplo n.º 4
0
	public int KillVillageItemsOfType(VillageItemEnum itmType, int count) {
		int nItemsKilled = 0;

		VillageItem[] items = null;
		switch (itmType) {
		case VillageItemEnum.eSavage:
			items = villageSavagesContainer.GetComponentsInChildren<VillageItem> ();
			break;
		case VillageItemEnum.eFruit:
			items = villageFruitsContainer.GetComponentsInChildren<VillageItem> ();
			break;
		case VillageItemEnum.eAnimal:
			items = villageAnimalsContainer.GetComponentsInChildren<VillageItem> ();
			break;
		}

		int nItems = items.Length;

		int nAttempts = nItems * 2;

		while (nItems != 0) {
			int idx = Random.Range (0, nItems);
			var item = items [idx];

			if (item.IsSafeToKill) {
				++nItemsKilled;

				item.Kill();

				//swap delete
				items[idx] = items[nItems - 1];
				--nItems;
			}

			if (nItemsKilled == count)
				break;

			--nAttempts;
			if (nAttempts == 0)
			break;
		}

		return nItemsKilled;
	}
Exemplo n.º 5
0
	public void RetrieveVillageItem(IVillageItem item)
	{
        IStorageArea a = Village.GetGlobalInstance().AnimalsArea;
        switch ( item.ItemType)
        {
            case VillageItemEnum.eFruit:
                a = Village.GetGlobalInstance().FruitsArea;
                break;
            case VillageItemEnum.eSavage:
                a = Village.GetGlobalInstance().SavagesArea;
                break;
        }

        VillageItem sI = item as VillageItem;
        if ( a.retriveList.Contains( sI ))
        {
            a.retriveList.Remove(sI);
        }

		payLoadVillageItem = item.ItemType;
		actionState = State.eQueueingItem;
		Payload.ShowPayload(item.ItemType);

		MoveToPoint(SacrificeQueue.GetInstance().GetSlotPos(mQueueSlot));
        GameObject.Destroy((item as VillageItem).gameObject);
        mTarget = null;
	}