public void ReciveSacrifice(VillageItemEnum type) { float sValue = sacrificeFullValue; if (type != preferedSacrifice) { sValue *= reduceSacrificeValue; } sMeter.BoostByValue(sValue); }
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); }
public void SelfSacrifice( int queueSlot) { actionState = State.eQueueingItem; payLoadVillageItem = VillageItemEnum.eSelfSacrifice; Payload.ShowPayload(VillageItemEnum.eSelfSacrifice); mQueueSlot = queueSlot; MoveToPoint(SacrificeQueue.GetInstance().GetSlotPos(mQueueSlot)); }
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; }
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; }