Inheritance: MonoBehaviour
Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
 public int GetRuneCooldown(RuneSlot slot)
 {
     return Manager.Memory.Read<int>(new IntPtr(Pointers.LocalPlayer.RuneCooldown + (int)slot * 4));
 }
Exemplo n.º 3
0
 public bool IsRuneReady(RuneSlot slot)
 {
     return (RuneState & (1 << (int)slot)) > 0;
 }
Exemplo n.º 4
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);
 }
Exemplo n.º 5
0
	// 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);
	}
Exemplo n.º 6
0
    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;
        }
    }
Exemplo n.º 7
0
    /// <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);
    }
Exemplo n.º 8
0
	//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);
	}
Exemplo n.º 9
0
 public override void ManipulateEnergy(RuneSlot runeSlot, BuildSignalManager buildSignalManager)
 {
     return;
 }
Exemplo n.º 10
0
 public override string GetInfo(RuneSlot runeSlot)
 {
     return(id + '\n' + description);
 }
Exemplo n.º 11
0
    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;
        }
    }
Exemplo n.º 12
0
 public abstract string GetInfo(RuneSlot runeSlot);
Exemplo n.º 13
0
 public abstract void ManipulateEnergy(RuneSlot runeSlot, BuildSignalManager buildSignalManager);
Exemplo n.º 14
0
 public int GetRuneCooldown(RuneSlot slot)
 {
     return(Manager.Memory.Read <int>(new IntPtr(Pointers.LocalPlayer.RuneCooldown + (int)slot * 4)));
 }
Exemplo n.º 15
0
 public bool IsRuneReady(RuneSlot slot)
 {
     return((RuneState & (1 << (int)slot)) > 0);
 }