List<RunePage> GetRunePages(Summoner summoner) { List<RunePage> output = new List<RunePage>(); using (var connection = GetConnection()) { using (var pageSelect = Command("select {0} from rune_page where summoner_id = :summoner_id", connection, RunePage.GetFields())) { pageSelect.Set("summoner_id", summoner.Id); using (var pageReader = pageSelect.ExecuteReader()) { while (pageReader.Read()) { RunePage page = new RunePage(pageReader); output.Add(page); } } } foreach (var page in output) { using (var slotSelect = Command("select {0} from rune_slot where rune_page_id = :rune_page_id", connection, RuneSlot.GetFields())) { slotSelect.Set("rune_page_id", page.Id); using (var slotReader = slotSelect.ExecuteReader()) { while (slotReader.Read()) { RuneSlot slot = new RuneSlot(slotReader); page.Slots.Add(slot); } } } page.Slots.Sort((x, y) => x.Slot.CompareTo(y.Slot)); } } return output; }
public int GetRuneCooldown(RuneSlot slot) { return Manager.Memory.Read<int>(new IntPtr(Pointers.LocalPlayer.RuneCooldown + (int)slot * 4)); }
public bool IsRuneReady(RuneSlot slot) { return (RuneState & (1 << (int)slot)) > 0; }
public void MoveTo(RuneSlot targetSlot) { this.transform.position = new Vector3(targetSlot.transform.position.x, targetSlot.transform.position.y, transform.position.z); if(Slot != null) Slot.RemoveRune(); targetSlot.TakeRune(this); }
// updated for the new background, has an extra transform in -y direction void setReletivePosition (RuneSlot slot, float x, float y) { slot.gameObject.transform.position = new Vector3 ( gameObject.transform.position.x + edgeLength * x, gameObject.transform.position.y + edgeLength * y - Screen.height * 0.072f, slot.transform.position.z); }
public void FindNeighbors(RuneSlot[,] runeSlots) { //Debug.Log("Finding Neighbors for " + runeData.RuneTemplateId); if (neighbors == null) { neighbors = new RuneSlot[(int)runeData.RuneTemplate.sides]; } int page_h = runeSlots.GetLength(0); int page_w = runeSlots.GetLength(1); int rune_x = -1; int rune_y = -1; for (int h = 0; h < page_h; h++) { for (int w = 0; w < page_w; w++) { if (runeSlots[h, w] == this) { rune_x = w; rune_y = h; } } } if (rune_x == -1 || rune_y == -1) { Debug.Log("Error: RuneData not in Page."); return; } Debug.Log("Current Index : " + rune_y + " " + rune_x); switch (runeData.RuneTemplate.sides) { case 4: Vector2[] possibleNeighbors = { new Vector2(rune_x + 1, rune_y), new Vector2(rune_x, rune_y - 1), new Vector2(rune_x - 1, rune_y), new Vector2(rune_x, rune_y + 1) }; for (int i = 0; i < 4; i++) { Vector2 possibleNeighbor = possibleNeighbors[i]; int n_x = (int)possibleNeighbor.x; int n_y = (int)possibleNeighbor.y; if (n_x < 0 || n_x >= page_w || n_y < 0 || n_y >= page_h) { neighbors[i] = null; } else { RuneSlot neighbor = runeSlots[n_y, n_x]; int neighborConnectionPort = (i + 2) % 4; neighbors[i] = neighbor.PortOpen(neighborConnectionPort) ? neighbor : null; } } break; case 6: break; case 3: break; } }
/// <summary> /// Updates the panel states as needed. /// </summary> void UpdatePanelStates() { EnableDisableControl(RuneBagPanel, RuneBagEnabled); if (RuneBagEnabled == true) { RuneSlot.UpdateRuneDisplay(); } EnableDisableControl(ContextMenu.gameObject, WindowDetectUW.ContextUIEnabled); EnableDisableControl(StatsDisplayPanel, StatsEnabled); EnableDisableControl(InventoryPanel, InventoryEnabled); EnableDisableControl(PaperDollFemalePanel, InventoryEnabled && UWCharacter.Instance.isFemale); EnableDisableControl(PaperDollMalePanel, InventoryEnabled && !UWCharacter.Instance.isFemale); EnableDisableControl(ConversationPanel, ConversationEnabled); EnableDisableControl(ChainsControl.gameObject, (RuneBagEnabled || StatsEnabled || InventoryEnabled) && ConversationEnabled == false); EnableDisableControl(UW2ConversationBG.gameObject, ConversationEnabled && _RES == GAME_UW2); EnableDisableControl(UW1ScrollTop, ConversationEnabled && _RES != GAME_UW2); EnableDisableControl(UW1ScrollBottom, ConversationEnabled && _RES != GAME_UW2); EnableDisableControl(UW1ScrlEdgeLeft1, ConversationEnabled && _RES != GAME_UW2); EnableDisableControl(UW1ScrlEdgeLeft2, ConversationEnabled && _RES != GAME_UW2); EnableDisableControl(UW1ScrlEdgeLeft3, ConversationEnabled && _RES != GAME_UW2); EnableDisableControl(UW1ScrlEdgeRight1, ConversationEnabled && _RES != GAME_UW2); EnableDisableControl(UW1ScrlEdgeRight2, ConversationEnabled && _RES != GAME_UW2); EnableDisableControl(UW1ScrlEdgeRight3, ConversationEnabled && _RES != GAME_UW2); EnableDisableControl(UW1PortraitFramePC, ConversationEnabled && _RES != GAME_UW2); EnableDisableControl(UW1PortraitFrameNPC, ConversationEnabled && _RES != GAME_UW2); EnableDisableControl(UW1PCNameFrame, ConversationEnabled && _RES != GAME_UW2); EnableDisableControl(UW1NPCNameFrame, ConversationEnabled && _RES != GAME_UW2); EnableDisableControl(UW1PCTradeArea, ConversationEnabled && _RES != GAME_UW2); EnableDisableControl(UW1NPCTradeArea, ConversationEnabled && _RES != GAME_UW2); EnableDisableControl(UW1ConversationPaperBackground, ConversationEnabled && _RES != GAME_UW2); EnableDisableControl(MapPanel, MapEnabled); EnableDisableControl(DragonLeftPanel, ((_RES != GAME_UW2) && (((InventoryEnabled) || (StatsEnabled) || (RuneBagEnabled) || (ConversationEnabled)) && (UWHUD.instance.window.FullScreen == false)))); EnableDisableControl(DragonRightPanel, ((_RES != GAME_UW2) && (((InventoryEnabled) || (StatsEnabled) || (RuneBagEnabled) || (ConversationEnabled)) && (UWHUD.instance.window.FullScreen == false)))); EnableDisableControl(CutsceneSmallPanel, CutSceneSmallEnabled); EnableDisableControl(CutsceneFullPanel, CutSceneFullEnabled); EnableDisableControl(MonsterEyes.gameObject, ((((InventoryEnabled) || (StatsEnabled) || (RuneBagEnabled)) && (!ConversationEnabled)) && (UWHUD.instance.window.FullScreen == false))); EnableDisableControl(HudCompass.gameObject, !ConversationEnabled); EnableDisableControl(powergem.gameObject, !ConversationEnabled); EnableDisableControl(InteractionControlUW1.gameObject, !ConversationEnabled && (RuneBagEnabled || StatsEnabled || InventoryEnabled) && (_RES != GAME_UW2)); EnableDisableControl(InteractionControlUW2.gameObject, !ConversationEnabled && (RuneBagEnabled || StatsEnabled || InventoryEnabled) && (_RES == GAME_UW2)); EnableDisableControl(ContextMenu.gameObject, !ConversationEnabled); if ((_RES == GAME_UW2) && (ConversationEnabled)) { ConversationPanel.transform.SetSiblingIndex(5); MessageScrollBackground.GetComponent <RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 300f); MessageScrollBackground.GetComponent <RectTransform>().anchoredPosition = new Vector2(-40.8f, -64.8f); //MessageScroll.GetComponent<RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 250f); SetUIElementPosition(MessageScroll, 33f, 250f, new Vector2(4f, -62.4f)); EnableDisableControl(MessageLogScrollEdgeLeft, false); EnableDisableControl(MessageLogScrollEdgeRight, false); EnableDisableControl(MessageScrollBackground, false); EnableDisableControl(activeRunes[0].gameObject, false); EnableDisableControl(activeRunes[1].gameObject, false); EnableDisableControl(activeRunes[2].gameObject, false); } else { EnableDisableControl(MessageLogScrollEdgeLeft, true); EnableDisableControl(MessageLogScrollEdgeRight, true); EnableDisableControl(MessageScrollBackground, true); EnableDisableControl(activeRunes[0].gameObject, true); EnableDisableControl(activeRunes[1].gameObject, true); EnableDisableControl(activeRunes[2].gameObject, true); if (_RES == GAME_UW2) { MessageScrollBackground.GetComponent <RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 208.68f); MessageScrollBackground.GetComponent <RectTransform>().anchoredPosition = new Vector2(-40.8f, -64.8f); //MessageScroll.GetComponent<RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 172f); SetUIElementPosition(MessageScroll, 33f, 174f, new Vector2(-40.93f, -62.4f)); } } //additional tradeslots for uw2 EnableDisableControl(playerTrade[4], ConversationEnabled && _RES == GAME_UW2); EnableDisableControl(playerTrade[5], ConversationEnabled && _RES == GAME_UW2); EnableDisableControl(npcTrade[4], ConversationEnabled && _RES == GAME_UW2); EnableDisableControl(npcTrade[5], ConversationEnabled && _RES == GAME_UW2); EnableDisableControl(editorPanel, EditorMode); }
//given a position and a runslot position, return ture if they are close to each other public bool isNear (RuneSlot rs, Vector3 position) { return isNear (rs.transform.position, position); }
public override void ManipulateEnergy(RuneSlot runeSlot, BuildSignalManager buildSignalManager) { return; }
public override string GetInfo(RuneSlot runeSlot) { return(id + '\n' + description); }
public override void ManipulateEnergy(RuneSlot runeSlot, BuildSignalManager buildSignalManager) { RuneData runeData = runeSlot.RuneData; Energy[] energyIn = runeSlot.EnergyIn; Energy[] energyOut = runeSlot.EnergyOut; int loss = lossScale[runeData.Rank1]; int capacity = capacityScale[runeData.Rank2]; if (energyIn[0] != null && energyIn[1] != null) { Debug.Log("Wire receiving energy from both ports"); buildSignalManager.receiveSignal("Wire receiving energy from both ports"); //gameObject.GetComponent<Animator> ().SetTrigger ("error"); } else { if (energyIn[0] != null) { if (energyIn[0].Power > capacity) { Debug.Log("Wire over max capacity"); buildSignalManager.receiveSignal("Wire over max capacity"); //gameObject.GetComponent<Animator> ().SetTrigger ("error"); } else { energyIn[0].Power = (int)(energyIn[0].Power * ((100 - loss) / 100.0F)); if (energyIn[0].Power <= 0) { energyOut[1] = null; } else { energyOut[1] = energyIn[0]; } //gameObject.GetComponent<Animator> ().SetBool ("outputting", true); } } else if (energyIn[1] != null) { if (energyIn[1].Power > capacity) { Debug.Log("Wire over max capacity"); buildSignalManager.receiveSignal("Wire over max capacity"); //gameObject.GetComponent<Animator> ().SetTrigger ("error"); } else { energyIn[1].Power = (int)(energyIn[1].Power * ((100 - loss) / 100.0F)); if (energyIn[1].Power <= 0) { energyOut[0] = null; } else { energyOut[0] = energyIn[1]; } //gameObject.GetComponent<Animator> ().SetBool ("outputting", true); } } else { //gameObject.GetComponent<Animator> ().SetBool ("outputting", false); } } for (int i = 0; i < energyIn.Length; i++) { energyIn[i] = null; } }
public abstract string GetInfo(RuneSlot runeSlot);
public abstract void ManipulateEnergy(RuneSlot runeSlot, BuildSignalManager buildSignalManager);
public int GetRuneCooldown(RuneSlot slot) { return(Manager.Memory.Read <int>(new IntPtr(Pointers.LocalPlayer.RuneCooldown + (int)slot * 4))); }
public bool IsRuneReady(RuneSlot slot) { return((RuneState & (1 << (int)slot)) > 0); }