//DONE //Delete/Cancel a booking (assign the slot booking field to null) for a specified slot private static void CancelBooking() { Slot newSlot; Console.WriteLine("---Cancel booking---"); Console.Write("Enter room name: "); string inputRoom = Console.ReadLine().ToUpper(); Console.Write("Enter date for slot(dd-MM-yyyy): "); string inputDate = Console.ReadLine(); Console.Write("Enter time for slot (HH:mm): "); string inputTime = Console.ReadLine(); newSlot = ValidateEngine.ValidateCancelBookSlot(inputRoom, inputDate, inputTime); if (newSlot == null) { return; } else { var SlotList = new SlotManager(); SlotList.UpdateBooking(newSlot); Console.WriteLine("Slot cancelled successfully.");; } }
//A student can only make 1 booking per day. - DONE //A slot can have a maximum of 1 student booked into it. - DONE //Create a booking (assign the studentID to a slots booking field) for a specified slot static void MakeBooking() { Slot newSlot; Console.WriteLine("---Make booking---"); Console.Write("Enter room name: "); string inputRoom = Console.ReadLine().ToUpper(); Console.Write("Enter date for slot(dd-MM-yyyy): "); string inputDate = Console.ReadLine(); Console.Write("Enter time for slot (HH:mm): "); string inputTime = Console.ReadLine(); Console.Write("Enter student ID: "); string inputStudentID = Console.ReadLine(); newSlot = ValidateEngine.ValidateBookSlot(inputRoom, inputDate, inputTime, inputStudentID); if (newSlot == null) { return; } else { var SlotList = new SlotManager(); SlotList.UpdateBooking(newSlot); Console.WriteLine("Booking created successfully.");; } }
void Awake() { pcf = new PowerCommandFactory(this.gameObject); slotManager = slotManagerObject.GetComponent<SlotManager>(); if (slotManager == null) { Debug.LogError("SlotManager component is required in given object."); } }
public void SwapSelectedSlot() { // When both to and from are set to the selected slots if (_slotMoveTo != null && _slotMoveFrom != null) { // Store the items in the TO slot in a temporary stack first Stack <ItemDatabase> tempTo = new Stack <ItemDatabase>(_slotMoveTo.SlotItemStack); // Replace and swap the items in TO slot into the FROM slot _slotMoveTo.ReplaceAddItems(_slotMoveFrom.SlotItemStack); // If the second selected, TO slot was empty if (tempTo.Count == 0) { // Clear the FROM slot as nothing to put in the TO slot _slotMoveFrom.ClearSlot(); } else // If the TO slot had items { // Add the items in TO slot to FROM slot _slotMoveFrom.ReplaceAddItems(tempTo); } // Then reset everything back to original _slotMoveFrom.GetComponent <Image>().color = Color.white; _slotMoveFrom.transform.Find("Icon").GetComponentInChildren <Image>().color = Color.white; _slotMoveTo = null; _slotMoveFrom = null; } }
public SaveSlot(SlotManager sm) { for (int i = 0; i < 16; i++) { name[i] = sm.ss[i]; } }
//when item selected void OnShowStats(SlotManager selectedSlot) { //if we have already item popup stop coroutine if (closePopupCoroutine != null) { StopCoroutine(closePopupCoroutine); } //set popup position itemPopup.transform.position = selectedSlot.transform.position + new Vector3(-25, 0, 0); itemPopup.SetActive(true); //get selected item stats , +2 dor type and rare inf Item slotItem = selectedSlot.slotItem; List <Stat> allStats = new List <Stat>(selectedSlot.slotItem.itemStats); int allStatCount = allStats.Count + 2; popupRect.sizeDelta = new Vector2(popupRect.sizeDelta.x, 360);//defult popup size //if need more space if (allStatCount > 4) { int extraStatCount = allStatCount - 4; popupRect.sizeDelta = new Vector2(popupRect.sizeDelta.x, 360 + (extraStatCount * 75));// +75 per extra stat } //show ShowItemStats(slotItem.itemName, slotItem.itemType, slotItem.itemRare, allStats, popupLayout); //close coroutine closePopupCoroutine = StartCoroutine(ClosePopup()); }
//destoy item void DestroyItem(SlotManager draggedSlot) { //check item Disenchantable if (!draggedSlot.slotItem.isItemDisenchantable) { return; } //if item dragged from inventory, destroy and create dust item if (draggedSlot.slotType == SlotManager.SlotType.inventory) { ItemdDisenchantedEvent(draggedSlot.slotItem); draggedSlot.CreateItemOnSlot(draggedSlot.slotItem.disenchantItem); return; } //if item dragged from character slots , check empty slot in inventory for dust item if (!IsThereEmptyPlace()) { return; } //if we have , destroy and create dust item ItemdDisenchantedEvent(draggedSlot.slotItem); SlotManager dustSlot = inventorySlots.Find(s => s.isSlotEmpty); dustSlot.CreateItemOnSlot(draggedSlot.slotItem.disenchantItem); draggedSlot.CreateItemOnSlot(null); OnCharacterStatsUpdate(); }
// Use this for initialization void Start() { slotManager = FindObjectOfType <SlotManager> (); player = FindObjectOfType <Player> (); material = GetComponent <Renderer> ().material; material.color = Color.white; }
/// <summary> /// excited or freegame use /// </summary> public void StartComboSpin() { if (!JurassicUIManager.instance.Test) { //SlotManager.instance.SetItem(); SlotManager.instance.SetMoney(); UserMoney = RewardMoney; if (GameConnet.m_oGameClient != null) { GameConnet.m_oGameClient.Send(ENUM_GAME_FRAME.Jurassic, (uint)ENUM_JURASSIC_PACKID_GC.C2G_Bet_ReqBet, GameConnet.m_oGameClient.DoSerialize <byte> ((byte)BetAmount)); } RewardMoney = UserMoney - (UInt64)(BetAmount * GameConnet.m_PMachineConfig.m_usBetMoney * GameConnet.m_PMachineConfig.m_byMaxLine); } if (JurassicUIManager.instance.Test) { List <int> aaa = new List <int> { 1, 1, 1, 1, 9, 1, 1, 9, 1, 1, 1, 1, 1, 1, 9 }; List <int> bbb = new List <int> { 0, 0, 3, 0, 0, 0, 0, 0, 0, 0 }; SlotManager.slotdata.SetData(bbb, aaa, SlotManager.instance.testcombo); SlotManager.slotdata.JackPot = SlotManager.instance.JP; SlotManager.slotdata.SetExcited(SlotManager.instance.testexcited, SlotManager.instance.textexcit); } SlotManager.StartButton(); }
public void should_return_inactive_for_all() { var slotManager = new SlotManager(); // when no slots are set, all slots are marked with an X. Assert.AreEqual("XXXXXXXXXXX", slotManager.ToString()); }
//save current inventory public void SaveCurrentInventory() { //create slot array InventoryData.SlotData[] currentInventoryItems = new InventoryData.SlotData[UIManager.instance.inventorySlots.Count]; //search all slots for (int i = 0; i < UIManager.instance.inventorySlots.Count; i++) { SlotManager slot = UIManager.instance.inventorySlots[i]; if (slot.isSlotEmpty)//if slot empty create null item { currentInventoryItems[i] = new InventoryData.SlotData(null, true); continue; } //if not, copy item Item slotItem = new Item(slot.slotItem); currentInventoryItems[i] = new InventoryData.SlotData(slotItem, false); } //add to saved inventory lists InventoryData currentInventoryData = new InventoryData(inventoryName.text, currentInventoryItems); savedInventorys.Add(currentInventoryData); UpdateSavedList(); }
// When item looted by player, trigger this public bool AddItemToSlot(ItemDatabase item) { foreach (GameObject slot in AllInventorySlots) { // get all the slots SlotManager temp = slot.GetComponent <SlotManager>(); // if the slot is occupied if (!temp.SlotStackIsEmpty) { // if the item in the slot is the same as looted if (temp.CurrentItemOnSlot.ItemName == item.ItemName) { // and slot is not full yet if (!temp.SlotNotStackable) { // add item into the slot temp.AddItemToSlotStack(item); return(true); } } } else // slot is empty { // put item in new empty slot PlaceIntoEmptySlot(item); return(true); } } return(false); }
// Swap items slot public void MoveItem(GameObject clicked) { if (_slotMoveFrom == null) { if (!clicked.GetComponent <SlotManager>().SlotStackIsEmpty) { _slotMoveFrom = clicked.GetComponent <SlotManager>(); _slotMoveFrom.GetComponent <Image>().color = Color.gray; } } else if (_slotMoveTo == null) { _slotMoveTo = clicked.GetComponent <SlotManager>(); } if (_slotMoveTo != null && _slotMoveFrom != null) { Stack <ItemDatabase> tempTo = new Stack <ItemDatabase>(_slotMoveTo.SlotItemStack); _slotMoveTo.ReplaceAddItems(_slotMoveFrom.SlotItemStack); if (tempTo.Count == 0) { _slotMoveFrom.ClearSlot(); } else { _slotMoveFrom.ReplaceAddItems(tempTo); } _slotMoveFrom.GetComponent <Image>().color = Color.white; _slotMoveTo = null; _slotMoveFrom = null; } }
//COMPLETE //A staff member can book a maximum of 4 slots per day. - DONE //The slots must be booked between the school working hours of 9am to 2pm and will always be booked at the start of the hour. - DONE //Each room can be booked for a maximum of 2 slots per day. - DONE //Create a new slot private static void CreateSlot() { Slot newSlot; Console.WriteLine("---Create Slot---"); Console.Write("Enter room name: "); string inputRoom = Console.ReadLine().ToUpper(); Console.Write("Enter date for slot(dd-MM-yyyy): "); string inputDate = Console.ReadLine(); Console.Write("Enter time for slot (HH:mm): "); string inputTime = Console.ReadLine(); Console.Write("Enter staff ID: "); string inputStaffID = Console.ReadLine(); newSlot = ValidateEngine.ValidateCreateSlot(inputRoom, inputDate, inputTime, inputStaffID); if (newSlot == null) { return; } else { var SlotList = new SlotManager(); SlotList.CreateSlot(newSlot); Console.WriteLine("Slot created successfully.");; } }
// Update is called once per frame void Update() { pathTime += Time.deltaTime; if (pathTime > 0.5f) { pathTime = 0f; /* * Vector3 targetPos = target.transform.position; // 攻击目标的世界坐标 * Vector3 offset = (this.transform.position - targetPos).normalized * keepGap; * * this.GetComponent<NavMeshAgent>().destination = targetPos + offset; */ SlotManager slotManager = target.GetComponent <SlotManager>(); if (slotManager != null) { if (slot == -1) { slot = slotManager.Reserve(gameObject); } if (slot == -1) { return; } NavMeshAgent agent = this.GetComponent <NavMeshAgent>(); if (agent == null) { return; } agent.destination = slotManager.GetSlotPosition(slot); } } }
public void InitializeSlot() //set the Frontier slot { SlotManager SM = GetComponentInParent <SlotManager>(); SM.InitializeSlot(dir); SM.ChangeSlotImage(type); }
public MappingProfile() { CreateMap <Set, TMogSet>() .ForMember(target => target.Id, opt => opt.MapFrom(source => source.SetId)) .ForMember(target => target.Slots, opt => opt.Ignore()) .ForMember(target => target.TotalSlots, opt => opt.ResolveUsing(source => { var slots = new SlotManager(source.Slots); return(slots.ActiveSlotCount); })) .ForMember(target => target.CompletedSlots, opt => opt.ResolveUsing(source => { var slots = new SlotManager(source.Slots); return(slots.CompletedSlotCount); })); CreateMap <Entities.Item, Models.Item>() .ForMember(target => target.Id, opt => opt.MapFrom(source => source.ItemId)); CreateMap <Entities.Source, Models.Source>() .ForMember(target => target.Id, opt => opt.MapFrom(source => source.SourceId)) .ForMember(target => target.SubType, opt => opt.ResolveUsing(source => source.SubType?.GetDisplayValue())); CreateMap <Entities.Zone, Models.Zone>() .ForMember(target => target.Id, opt => opt.MapFrom(source => source.ZoneId)) .ForMember(target => target.LocationId, opt => opt.ResolveUsing(source => source.Location?.LocationId)); }
void Start() { //_inventoryPanel = GameObject.Find("Inv Panel"); //_slotPanel = _inventoryPanel.transform.FindChild("Slot Panel").gameObject; database = this.GetComponent <InventoryDatabase>(); for (int i = 0; i < _slotAmmount; i++) { InvItems.Add(new Item()); GameObject tempItem = Instantiate(InventorySlot); tempItem.transform.SetParent(SlotPanel.transform, false); InvSlots.Add(tempItem); InvSlots[i].transform.SetParent(SlotPanel.transform); //sets up slot[i] slotmanager SlotManager tempSlot = InvSlots[i].GetComponent <SlotManager>(); tempSlot.InventoryMgr = this; tempSlot.SlotID = i; } //test to add items to inventory AddItem(0); AddItem(1); AddItem(1); AddItem(0, 3); AddItem(1, 48); AddItem(2); }
private void GetSlotManager() { if (m_slotManager == null) { m_slotManager = SlotManager.Instance; } }
public WowheadSetMapProfile() { CreateMap <IWowheadSet, Set>() .ForMember(dest => dest.SetId, opt => opt.MapFrom(source => source.WowheadSetId)) .ForMember(dest => dest.Slots, opt => opt.ResolveUsing(source => SlotManager.FromRange(source.Items.Select(i => i.Slot).Distinct()))) .ForMember(dest => dest.Items, opt => opt.Ignore()); CreateMap <IWowheadItem, Item>() .ForMember(dest => dest.ItemId, opt => opt.MapFrom(source => source.Id)) .ForMember(dest => dest.Source, opt => opt.Ignore()) .ForMember(dest => dest.Sets, opt => opt.Ignore()) .ForMember(dest => dest.Quality, opt => opt.ResolveUsing(source => { if (!source.Quality.HasValue) { return(QualityType.Unknown); } return((QualityType)source.Quality.Value); })); CreateMap <IWowheadItemSource, Source>() .ForMember(dest => dest.SourceId, opt => opt.Ignore()) .ForMember(dest => dest.Description, opt => opt.MapFrom(source => source.Name)) .ForMember(dest => dest.Zone, opt => opt.Ignore()) .ForMember(dest => dest.ZoneId, opt => opt.ResolveUsing(source => source.Zone)); }
private bool MergeItems(SlotManager from) { if (slot.IsEmpty) { return(false); } if (from.slot.MyItem.MyID == slot.MyItem.MyID && !slot.IsFull) { if (inventoryManager.DebugMode) { Debug.Log("Merge Items"); } // How many free slots we have in the stack int free = slot.MyItem.MyStackSize - slot.MyStackCount; for (int i = 0; i < free; i++) { if (from.slot.MyStackCount > 0) { int amount = 1; AddItem(from.slot.MyItem, amount); from.RemoveItem(amount); } } return(true); } return(false); }
private bool SwapItems(SlotManager from) { if (slot.IsEmpty) { return(false); } if (from.slot.MyItem.MyID != slot.MyItem.MyID || from.slot.MyStackCount + slot.MyStackCount > slot.MyItem.MyStackSize) { if (inventoryManager.DebugMode) { Debug.Log("Swap Items"); } // Copy all the items we need to swap from A Item tmpItem = from.slot.MyItem; int tmpAmount = from.slot.MyStackCount; from.slot.MyItem = slot.MyItem; from.slot.MyStackCount = slot.MyStackCount; // All items from Slot B amnd copy them into Slot A slot.MyItem = tmpItem; slot.MyStackCount = tmpAmount; from.UpdateSlot(); UpdateSlot(); return(true); } return(false); }
private void Update() { if (inRange && Input.GetKeyDown(KeyCode.F)) { SlotManager slotmanager = GameObject.FindGameObjectWithTag("UI").GetComponent <InventoryCaller>().GetInventoryPanel().GetComponentInChildren <SlotManager>(); if (!slotmanager.IsFull()) { Transform firstavailableslot = slotmanager.FirstEmptySlot().transform; GameObject g = new GameObject(); g.AddComponent <Image>(); g.GetComponent <Image>().sprite = s; g.AddComponent <InventoryDragger>(); g.AddComponent <CanvasGroup>(); g.AddComponent <Droppable>(); g.AddComponent <ItemReference>(); g.transform.SetParent(firstavailableslot.transform); g.transform.position = firstavailableslot.position; string prefabname = s.name + "pickedup"; Debug.Log(prefabname); GameObject obj = Instantiate((GameObject)Resources.Load("prefabs/" + prefabname, typeof(GameObject)), playerPos.position, Quaternion.identity); g.GetComponent <ItemReference>().itemRef = obj; Destroy(gameObject); } } }
public bool AddItem(SlotManager from) { if (slot.IsEmpty || from.slot.MyItem.MyID == slot.MyItem.MyID) { if (inventoryManager.DebugMode) { Debug.Log("Add Items"); } Item tmpItem = from.slot.MyItem; int count = from.slot.MyStackCount; for (int i = 0; i < count; i++) { if (slot.IsFull) { return(false); } AddItem(tmpItem, 1); from.ClearAllItems(); } return(true); } return(false); }
// 무기 슬롯이 모두 장착된 상태에서 두손무기를 장착하려는 경우 private void TwoHandWenpon_Swap2() { for (var i = 0; i < m_Wenpon.Length; i++) { if (m_Wenpon[i] != m_CurrnetSlot) { // 교체하려는 아이템 정보 임시 저장 GameObject item = new GameObject(); item = ItemInfo.m_SelectedItem; // 반대 슬롯에 있는 무기를 인벤토리 슬롯으로 보내주는 작업 // 부모 오브젝트를 인벤토리 내에 아이템 오브젝트로 변경 후 // 인벤토리 내에 정렬 함수를 통해 빈 자리를 찾고, 그 슬롯에 저장 SlotManager sm = GameObject.Find("Inventory").GetComponent <SlotManager>(); m_Wenpon[i].m_StoredItemObject.transform.SetParent(sm.transform.parent.GetChild(1)); sm.SortItem(m_Wenpon[i].m_StoredItemObject); // 현재 슬롯에 장착된 아이템과 두손무기 교체 ItemInfo.SetSelectedItem(SwapItem(item, m_CurrnetSlot)); ColorChangeLoop2(); RefreshColor(true); // 반대 슬롯 정보 초기화 후, 비활성화 m_Wenpon[i].m_StoredItemObject = null; m_Wenpon[i].m_item = null; m_Wenpon[i].m_IsOccupied = false; m_Wenpon[i].m_Cheak.gameObject.SetActive(true); m_Wenpon[i].m_Cheak.color = SlotColorHighlights.Red; m_Wenpon[i].m_Look = true; break; } } }
void Start() { slotManager = FindObjectOfType <SlotManager> (); scrollbar = FindObjectOfType <Scrollbar> (); player = FindObjectOfType <Player> (); Playbutton = GetComponent <Button> (); }
public override void Process(ClientConnection conn, byte[] readBuffer, int length, int num) { if (conn.State == SlotState.ACCEPTED) { SlotManager.Schedule(conn, conn.DesiredQueue); return; } int whoAmI = conn.SlotIndex; if (Terraria.Netplay.Clients[whoAmI].State() == SlotState.ASSIGNING_SLOT) { Terraria.Netplay.Clients[whoAmI].SetState(SlotState.SENDING_WORLD); } var ctx = new HookContext() { Connection = conn, Player = conn.Player }; var args = new HookArgs.WorldRequestMessage() { SpawnX = Main.spawnTileX, SpawnY = Main.spawnTileY }; HookPoints.WorldRequestMessage.Invoke(ref ctx, ref args); //NewNetMessage.SendData(7, whoAmI); var msg = NewNetMessage.PrepareThreadInstance(); msg.WorldData(args.SpawnX, args.SpawnY); msg.Send(whoAmI); }
// Update is called once per frame void Update() { //每0.5秒刷新进入If分支 pathTime += Time.deltaTime; if (pathTime > 0.5f) { pathTime = 0f; //获得 SlotManager 脚本,为空怎不进入下面If分支 SlotManager slotManager = target.GetComponent <SlotManager>(); if (slotManager != null) { //存储获取槽位数 if (slot == -1) { slot = slotManager.Reserve(gameObject); } //如果没有槽了即返回 if (slot == -1) { return; } //获取 NvaMeshAgent,没有则返回,否则设置目标位置移动 var agent = GetComponent <NavMeshAgent>(); if (agent == null) { return; } agent.destination = slotManager.GetSlotPosition(slot); } } }
void Awake() { slotManager = slotManagerObj.GetComponent <SlotManager>(); if (slotManager == null) { Debug.LogError("SlotManager component is required for game to work properly."); } }
public void should_convert_from_any_range() { var range = new int[] { 0, 1, 2, 3, 4 }; var result = SlotManager.FromRange(range); Assert.AreEqual("00000XXXXXXX", result); }
public void should_convert_from_range() { var range = Enum.GetValues(typeof(SlotType)).Cast <int>(); var result = SlotManager.FromRange(range); Assert.AreEqual("000000000000", result); }
void OnApplicationQuit() { s_Instance = null; }
void Awake() { slotManager = slotManagerObj.GetComponent<SlotManager>(); if (slotManager == null) { Debug.LogError("SlotManager component is required for game to work properly."); } }
void Awake() { sm = FindObjectOfType<SlotManager>(); }