public static void AddActiveItem(List <ActiveItemData> activeItemList, ACTIVE_ITEM_TYPE itemType, string value) { string[] values = value.Split(','); int limitTime = int.Parse(values[0]); bool add = true; for (int i = 0; i < activeItemList.Count; ++i) { if ((ACTIVE_ITEM_TYPE)activeItemList[i].itemType == itemType && activeItemList[i].value == values[1]) { if (activeItemList[i].limitTime > 0) { activeItemList[i].limitTime += limitTime; } add = false; break; } } if (add == true) { ActiveItemData activeItemData = new ActiveItemData(); activeItemData.itemType = (byte)itemType; activeItemData.startTime = DateTime.UtcNow.Ticks; activeItemData.limitTime = limitTime == 0 ? -1 : limitTime; activeItemData.value = values[1]; activeItemList.Add(activeItemData); } }
public static void UpdateActiveItem(List <ActiveItemData> activeItemList) { if (activeItemList == null) { return; } DateTime utcTime = DateTime.UtcNow; for (int i = activeItemList.Count - 1; i >= 0; --i) { ActiveItemData activeItemData = activeItemList[i]; if (activeItemData.limitTime < 0) { continue; } DateTime startTIme = new DateTime(activeItemData.startTime); TimeSpan subTime = utcTime - startTIme; if (subTime.TotalMinutes >= activeItemData.limitTime) { activeItemList.RemoveAt(i); } } }
public static List <ActiveItemData> ConvertActiveItemList(byte[] buffer) { List <ActiveItemData> activeItemList = new List <ActiveItemData>(); if (buffer == null) { return(activeItemList); } MemoryStream ms = new MemoryStream(buffer); BinaryReader br = new BinaryReader(ms); int count = br.ReadInt32(); for (int i = 0; i < count; ++i) { ActiveItemData activeItemData = new ActiveItemData(); activeItemData.itemType = br.ReadByte(); activeItemData.limitTime = br.ReadInt32(); activeItemData.startTime = br.ReadInt64(); activeItemData.value = br.ReadString(); activeItemList.Add(activeItemData); } br.Close(); ms.Close(); return(activeItemList); }
public void ResetSlot() { desc = null; coolTimeInst = -1f; deltaTime = 10000f; useItem = false; itemIcon.texImage = null; }
public bool AddActiveItem(ActiveItemData item) { if (tools[1].AddActiveItem(item)) { return(true); } if (tools[0].AddActiveItem(item)) { return(true); } return(false); }
public bool AddActiveItem(ActiveItemData item) { if (desc == null) { desc = item; deltaTime = 10000f; useItem = false; itemIcon.texImage = item.icon; uiEffect.Reset(); return(true); } return(false); }
private void Update() { VerifyLocalController(); for (int i = 0; i < tools.Length; i++) { if (tools[i] != null) { tools[i].Update(); } } if (tools[1].UseAble() && !battleChat.IsChatting && custom_inputs.Instance.GetButtonDown(input[0]) && localController != null && localController.CanControl()) { tools[1].Use(); if (tools[0].UseAble()) { tools[1].AddActiveItem(tools[0].GetActiveItem()); tools[0].ResetSlot(); } } if (tools[1].UseAble() && tools[0].UseAble() && !battleChat.IsChatting && custom_inputs.Instance.GetButtonDown(input[1]) && localController != null && localController.CanControl()) { ActiveItemData activeItem = tools[1].GetActiveItem(); tools[1].ResetSlot(); tools[1].AddActiveItem(tools[0].GetActiveItem()); tools[0].ResetSlot(); tools[0].AddActiveItem(activeItem); GameObject gameObject = GameObject.Find("Me"); if (null != gameObject) { AudioSource component = gameObject.GetComponent <AudioSource>(); if (component != null) { component.PlayOneShot(sndItemSwap); } } } }