コード例 #1
0
    public override void OnSpawn()
    {
        if (toggle == null)
        {
            toggle = GetComponent <Toggle>();
        }

        imageMain   = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(Image)).script as Image;
        imageToggle = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(Image)).script as Image;

        (toggle.transform as RectTransform).sizeDelta = new Vector2(30, 30);

        imageMain.rectTransform.sizeDelta   = new Vector2(30, 30);
        imageToggle.rectTransform.sizeDelta = new Vector2(20, 20);

        imageToggle.color = Color.black;

        toggle.targetGraphic = imageMain;
        toggle.graphic       = imageToggle;

        imageMain.transform.SetParent(toggle.transform);
        imageToggle.transform.SetParent(toggle.transform);

        scriptsData = new AdditionalScriptData[] {
            new AdditionalScriptData("Toggle", toggle),
            new AdditionalScriptData("ImageMain", imageMain),
            new AdditionalScriptData("ImageToggle", imageToggle)
        };
        //AllignWrapperElements();
    }
コード例 #2
0
    void Start()
    {
        // Applies pending data that was recieved while loading.
        Debug.Log("Updating " + pendingData.Count + " messages while loading.");
        for (int i = 0; i < pendingData.Count; i++)
        {
            (NetworkMessageEncoder.encoders[(int)NetworkEncoderTypes.UPDATE_ABILITY_DATA] as UpdateAbilityDataEncoder).ParseMessage(pendingData[i]);
        }

        pendingData.Clear();
        playerLoadedInLobby = true;

        // Creates global variables for this player.
        aData[ClientProgram.clientId].abilties[""].InputCallback(0);

        // Creates player main character.
        string priCharacterId = aData[ClientProgram.clientId].abilityManifest[(int)AbilityManifest.PRIMARY_CHARACTER];

        aData[ClientProgram.clientId].abilties[priCharacterId].InputCallback(0);

        abilities = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(LinearLayout));
        (abilities.script as LinearLayout).o = LinearLayout.Orientation.X;
        abilities.script.transform.position  = UIDrawer.UINormalisedPosition(new Vector3(0.1f,0.1f));
        AssignInputKeys();
    }
コード例 #3
0
    public override void OnSpawn()
    {
        if (button == null)
        {
            button = GetComponent <Button>();
        }

        button.onClick.RemoveAllListeners();

        image = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(Image)).script as Image;
        text  = (LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(TextWrapper)).script as TextWrapper).scriptsData[0].script as Text;

        button.targetGraphic = image;

        image.rectTransform.sizeDelta = new Vector3(100, 30);
        (button.transform as RectTransform).sizeDelta = new Vector3(100, 30);

        text.rectTransform.sizeDelta = new Vector2(100, 30);
        text.color = Color.black;

        image.transform.SetParent(transform);
        text.transform.SetParent(transform);
        //AllignWrapperElements();

        scriptsData = new AdditionalScriptData[] {
            new AdditionalScriptData("Button", button),
            new AdditionalScriptData("Image", image),
            new AdditionalScriptData("Text", text)
        };
    }
コード例 #4
0
    public override SpawnerOutput ReturnCustomUI(int variable, RuntimeParameters rp)
    {
        int p = GetVariableId("Point");

        if (p == variable)
        {
            SpawnerOutput pField           = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(DropdownWrapper));
            Dropdown      dW               = LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Dropdown>(pField);
            List <Dropdown.OptionData> dOd = new List <Dropdown.OptionData>();
            RuntimeParameters <int>    rpI = rp as RuntimeParameters <int>;

            dOd.Add(new Dropdown.OptionData("X"));
            dOd.Add(new Dropdown.OptionData("Y"));

            dW.AddOptions(dOd);

            dW.value = rpI.v;

            dW.onValueChanged.AddListener((id) => {
                rpI.v = id;
            });

            return(pField);
        }

        return(base.ReturnCustomUI(variable, rp));
    }
コード例 #5
0
    void CreateLinkage(int[] id, int connectionId = -1)
    {
        if (prevPath.Length > 0)
        {
            if (connectionId == -1)
            {
                int linkType = LoadedData.GetVariableType(abilityData.subclasses.l[prevPath[0]].classType, prevPath[1], VariableTypes.SIGNAL_ONLY) ? 1 : 0;
                connectionId = abilityData.linkAddresses.Add(new int[] { prevPath[0], prevPath[1], id[0], id[1], linkType });
            }

            //Debug.LogFormat("ConnectionID assigned {0}. For {1} and {2}", connectionId, prevPath[0], id[0]);

            // Make sure both ends will feedback if window was dragged.
            abilityWindows.l[prevPath[0]].linesRelated.Add(connectionId);
            abilityWindows.l[id[0]].linesRelated.Add(connectionId);

            Transform[] points = new Transform[2];

            int lastObj = LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <LinearLayout>(abilityWindows.l[prevPath[0]].variables[prevPath[1]]).objects.Count - 1;
            points[0] = LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <LinearLayout>(abilityWindows.l[prevPath[0]].variables[prevPath[1]]).objects[lastObj];
            points[1] = LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <LinearLayout>(abilityWindows.l[id[0]].variables[id[1]]).objects[0];

            CreateLines(points, connectionId);
            // Removes the prev path.
            prevPath = new int[0];
        }
    }
コード例 #6
0
    void GenerateMenuElements()
    {
        SpawnerOutput topText = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(TextWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(topText).text  = "Abilities";
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(topText).color = Color.white;

        topText.script.transform.position = UIDrawer.UINormalisedPosition(new Vector2(0.5f, 0.9f));

        commandText = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(TextWrapper));
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(commandText).text  = "";
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(commandText).color = Color.white;

        commandText.script.transform.position = UIDrawer.UINormalisedPosition(new Vector2(0.5f, 0.75f));

        SpawnerOutput addAbility = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(addAbility).onClick.AddListener(() => { CreateAbility(); });
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(addAbility, "Text").text = "Create Ability";

        addAbility.script.transform.position = UIDrawer.UINormalisedPosition(new Vector2(0.15f, 0.1f));

        SpawnerOutput setNewPrimary = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(setNewPrimary).onClick.AddListener(() => { ChangeButtonMode(AbilityButtonMode.CHANGE_PRIMARY_CHARACTER); });
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(setNewPrimary, "Text").text = "Set new primary";

        setNewPrimary.script.transform.position = UIDrawer.UINormalisedPosition(new Vector2(0.9f, 0.8f));

        lL = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(LinearLayout));
        lL.script.transform.position = UIDrawer.UINormalisedPosition(new Vector2(0.1f, 0.75f));
    }
コード例 #7
0
    void GenerateAbilityElement(string index)
    {
        SpawnerOutput abilityButton = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(abilityButton, "Text").text = abilityInfo[index].n;

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(abilityButton).onClick.AddListener(() => {
            selectedAbility = index;

            switch (currMode)
            {
            case AbilityButtonMode.CHANGE_PRIMARY_CHARACTER:
                if (!abilityManifest.ContainsKey((int)AbilityManifest.PRIMARY_CHARACTER))
                {
                    abilityManifest.Add((int)AbilityManifest.PRIMARY_CHARACTER, index);
                }
                else
                {
                    abilityManifest[(int)AbilityManifest.PRIMARY_CHARACTER] = index;
                }

                SaveAbilityManifest();
                break;

            case AbilityButtonMode.DEFAULT:
                SceneTransitionData.LoadScene("AbilityMaker");
                break;
            }

            ChangeButtonMode(AbilityButtonMode.DEFAULT);
        });

        //UIDrawer.ChangeUISize(abilityButton, new Vector2(200, 30));
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <LinearLayout>(lL).Add(abilityButton.script.transform as RectTransform);
    }
コード例 #8
0
    // Use this for initialization
    void Start()
    {
        AbilitiesManager.playerLoadedInLobby = false;

        lobbyInst = this;

        cDT = NetworkMessageEncoder.encoders[(int)NetworkEncoderTypes.CUSTOM_DATA_TRASMIT] as PlayerCustomDataTrasmitter;
        iDT = NetworkMessageEncoder.encoders[(int)NetworkEncoderTypes.IMAGE_DATA_TRANSMIT] as ImageDependenciesTransfer;
        mE  = NetworkMessageEncoder.encoders[(int)NetworkEncoderTypes.MANIFEST] as ManifestEncoder;

        ResetGameplayNetworkHelpers();

        lobbyText = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(TextWrapper));
        lobbyText.script.transform.position = UIDrawer.UINormalisedPosition(new Vector3(0.5f, 0.9f));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(lobbyText).text = "Lobby";

        progressOfFiles = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(TextWrapper));
        progressOfFiles.script.transform.position = UIDrawer.UINormalisedPosition(new Vector3(0.5f, 0.5f));
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(progressOfFiles).verticalOverflow = VerticalWrapMode.Overflow;

        startGame = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));
        startGame.script.transform.position = UIDrawer.UINormalisedPosition(new Vector3(0.5f, 0.1f));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(startGame, "Text").text = "Start Game";

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(startGame).onClick.AddListener(() => {
            ServerChannel sC = NetworkMessageEncoder.encoders[(int)NetworkEncoderTypes.SERVER_CHANNEL] as ServerChannel;
            sC.CommunicateServerSide(ServerSideMethods.START_GAME);
        });
    }
コード例 #9
0
    public override void OnSpawn()
    {
        if (scrollBar == null)
        {
            scrollBar = GetComponent <Scrollbar>();
        }

        scrollBar.direction = Scrollbar.Direction.BottomToTop;

        imageMain    = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(Image)).script as Image;
        imageHandler = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(Image)).script as Image;
        scrollArea   = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(UIMule)).script as UIMule;

        imageMain.transform.SetParent(scrollBar.transform);
        scrollArea.GetRectTransform().SetParent(scrollBar.transform);
        imageHandler.transform.SetParent(scrollArea.GetRectTransform());

        (scrollBar.transform as RectTransform).sizeDelta    = new Vector2(10, 150);
        (scrollArea.transform as RectTransform).sizeDelta   = new Vector2(10, 150);
        (imageMain.transform as RectTransform).sizeDelta    = new Vector2(10, 150);
        (imageHandler.transform as RectTransform).sizeDelta = new Vector2(10, 10);

        scrollBar.targetGraphic = imageHandler;
        scrollBar.handleRect    = imageHandler.rectTransform;

        scriptsData = new AdditionalScriptData[] {
            new AdditionalScriptData("Scrollbar", scrollBar),
            new AdditionalScriptData("MainImage", imageMain),
            new AdditionalScriptData("HandlerImage", imageHandler),
            new AdditionalScriptData("ScrollArea", scrollArea)
        };
    }
コード例 #10
0
    SpawnerOutput CreatePixel()
    {
        SpawnerOutput inst = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(Image));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Image>(inst).rectTransform.sizeDelta = lw;
        inst.script.transform.parent = transform;

        return(inst);
    }
コード例 #11
0
    public override void OnSpawn()
    {
        base.OnSpawn();

        lL           = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(LinearLayout)).script as LinearLayout;
        linesRelated = new List <int>();

        lL.transform.SetParent(content.transform);
        lL.transform.localPosition = new Vector3();
    }
コード例 #12
0
    void UpdateLineColor(int id)
    {
        switch ((LinkMode)abilityData.linkAddresses.l[id][4])
        {
        case LinkMode.NORMAL:
            LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Image>(lineData.GetElementAt(id).l, "Image").color = Color.green;
            break;

        case LinkMode.SIGNAL:
            LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Image>(lineData.GetElementAt(id).l,"Image").color = Color.red;
            break;
        }
    }
コード例 #13
0
 public void UpdateLines(params int[] id)
 {
     for (int i = 0; i < id.Length; i++)
     {
         if (lineData.l[id[i]].l != null)
         {
             lineData.l[id[i]].l.script.transform.position = lineData.l[id[i]].s.position;
             Vector2 d = lineData.l[id[i]].e.position - lineData.l[id[i]].s.position;
             LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Image>(lineData.l[id[i]].l,"Image").rectTransform.sizeDelta = new Vector2(10f,d.magnitude);
             lineData.l[id[i]].l.script.transform.rotation = Quaternion.Euler(new Vector3(0,0,Math.CalculateAngle(d)));
         }
     }
 }
コード例 #14
0
    public override void NodeCallback()
    {
        base.NodeCallback();

        if (eventId > -1)
        {
            LoadedData.GetSingleton <Timer>().UpdateEventDuration(eventId, GetNodeVariable <float>("Duration"));
        }
        else
        {
            eventId = LoadedData.GetSingleton <Timer>().CreateNewTimerEvent(GetNodeVariable <float>("Duration"), this);
        }
    }
コード例 #15
0
    public override void OnSpawn()
    {
        if (dropdown == null)
        {
            dropdown = GetComponent <Dropdown>();
        }

        dropdown.interactable = true;

        imageMain  = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(Image)).script as Image;
        text       = (LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(TextWrapper)).script as TextWrapper).text;
        scrollRect = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ScrollRectWrapper)).script as ScrollRectWrapper;
        toggle     = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(Toggle)).script as Toggle;
        tempText   = (LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(TextWrapper)).script as TextWrapper).text;

        (toggle.transform as RectTransform).sizeDelta = new Vector2(100, 20);

        imageMain.transform.SetParent(dropdown.transform);
        text.transform.SetParent(dropdown.transform);
        scrollRect.transform.SetParent(dropdown.transform);
        toggle.transform.SetParent(scrollRect.content.transform);
        tempText.transform.SetParent(toggle.transform);

        RectTransform sRRT = scrollRect.transform as RectTransform;

        sRRT.transform.localPosition = new Vector2(0, -90);

        RectTransform iMRT = imageMain.transform as RectTransform;

        iMRT.sizeDelta = new Vector2(100, 30);

        RectTransform dDRT = dropdown.transform as RectTransform;

        dDRT.sizeDelta = new Vector2(100, 30);

        scrollRect.gameObject.SetActive(false);

        dropdown.targetGraphic = imageMain;
        dropdown.template      = scrollRect.transform as RectTransform;
        dropdown.captionText   = text;
        dropdown.itemText      = tempText;

        scriptsData = new AdditionalScriptData[] {
            new AdditionalScriptData("Dropdown", dropdown),
            new AdditionalScriptData("MainImage", imageMain),
            new AdditionalScriptData("MainText", text),
            new AdditionalScriptData("ScrollRect", scrollRect),
            new AdditionalScriptData("Toggle", toggle),
            new AdditionalScriptData("TempText", tempText),
        };
    }
コード例 #16
0
    public KeyCodeDropdownList(int keycode)
    {
        PopulateValues();

        dW = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(DropdownWrapper));
        ReturnDropdownWrapper().dropdown.AddOptions(inputNames);

        for (int i = 0; i < inputValues.Length; i++)
        {
            if (keycode == inputValues[i])
            {
                ReturnDropdownWrapper().dropdown.value = i;
            }
        }
    }
コード例 #17
0
    // Update is called once per frame
    void Update()
    {
        string text = "Datafiles: " + cDT.sentFiles.ToString() + "/" + cDT.expectedFiles.ToString() + "\n";

        text += "Art Assets: " + iDT.sentFiles.ToString() + "/" + iDT.expectedFiles.ToString() + "\n";
        text += "Manifest: " + mE.sentData.ToString() + "/" + mE.expectedDataCount.ToString() + "\n";

        text += LoadedData.GetCurrentTimestamp();
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(progressOfFiles).text = text;

        if (cDT.sentFiles == cDT.expectedFiles && iDT.sentFiles == iDT.expectedFiles && startInitiated && mE.expectedDataCount == mE.sentData)
        {
            SceneTransitionData.LoadScene("Gameplay");
        }
    }
コード例 #18
0
    void ChangeButtonMode(AbilityButtonMode mode)
    {
        currMode = mode;

        switch (currMode)
        {
        case AbilityButtonMode.CHANGE_PRIMARY_CHARACTER:
            LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(commandText).text = "Select ability to be new primary character.";
            break;

        default:
            LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(commandText).text = "";
            break;
        }
    }
コード例 #19
0
    public void CreateWindowForAdditionalOptions()
    {
        if (additionalOptions == null)
        {
            additionalOptions = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(WindowsWrapper)).script as WindowsWrapper;
            additionalOptions.ChangeWindowsContentSize(new Vector2(400, 500));
            additionalOptions.windowsText.text = "Additional Options";

            LinearLayout mainAddOptionsLL = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(LinearLayout)).script as LinearLayout;
            mainAddOptionsLL.transform.SetParent(additionalOptions.content.transform);
            mainAddOptionsLL.transform.localPosition = new Vector3();
        }
        else
        {
            additionalOptions.gameObject.SetActive(true);
        }
    }
コード例 #20
0
    public override void OnSpawn()
    {
        if (scrollRect == null)
        {
            scrollRect = GetComponent <ScrollRect>();
        }

        scrollRect.horizontal   = false;
        scrollRect.vertical     = true;
        scrollRect.movementType = ScrollRect.MovementType.Elastic;


        // Main image.
        mainImage = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(Image)).script as Image;

        // Image used for content ect.
        contentImage = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(Image)).script as Image;
        scrollBar    = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ScrollbarWrapper)).script as ScrollbarWrapper;

        content = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(UIMule)).script as UIMule;
        contentImage.gameObject.AddComponent <Mask>();

        content.GetRectTransform().pivot = new Vector3(0.5f, 1);
        content.GetRectTransform().SetParent(contentImage.transform);
        mainImage.transform.SetParent(scrollRect.transform);
        contentImage.transform.SetParent(scrollRect.transform);
        scrollBar.transform.SetParent(scrollRect.transform);

        (contentImage.transform as RectTransform).sizeDelta = new Vector2(100, 150);
        scrollBar.transform.localPosition = new Vector2(60, 0);
        //sBW.transform.localPosition = new Vector3(300,0);

        scrollRect.viewport          = contentImage.rectTransform;
        scrollRect.content           = content.GetRectTransform();
        scrollRect.verticalScrollbar = scrollBar.scriptsData[0].script as Scrollbar;
        //AllignWrapperElements();

        scriptsData = new AdditionalScriptData[] {
            new AdditionalScriptData("ScrollRect", scrollRect),
            new AdditionalScriptData("MainImage", mainImage),
            new AdditionalScriptData("ContentImage", contentImage),
            new AdditionalScriptData("Scrollbar", scrollBar),
            new AdditionalScriptData("Content", content)
        };
    }
コード例 #21
0
    public void BuildAbility(int targetId)
    {
        int latestEntry = builders[targetId].byteData.Count - 1;

        string abilityId          = Encoding.Default.GetString(builders[targetId].byteData[latestEntry - 2]);
        string abilityNodeData    = Encoding.Default.GetString(builders[targetId].byteData[latestEntry - 1]);
        string abilityDescription = Encoding.Default.GetString(builders[targetId].byteData[latestEntry]);

        AbilityDataSubclass[] ability = LoadedData.GetSingleton <JSONFileConvertor>().ConvertToData(JsonConvert.DeserializeObject <StandardJSONFileFormat[]>(abilityNodeData));

        if (ability == null)
        {
            return;
        }

        AbilityInfo aD = JsonConvert.DeserializeObject <AbilityInfo>(abilityDescription);

        AbilitiesManager.aData[targetId].abilties[abilityId] = new AbilityData(ability, aD, targetId, abilityId);
    }
コード例 #22
0
    public AbilityTreeNode CreateNewNodeIfNull(int nodeId)
    {
        //Debug.Log(nodeId);
        if (!nodes[nodeId])
        {
            // Tries to convert type into a singleton to see if it exist.
            if (LoadedData.singletonList.ContainsKey(subclassTypes[nodeId]))
            {
                nodes[nodeId] = LoadedData.singletonList[subclassTypes[nodeId]] as AbilityTreeNode;
            }

            if (nodes[nodeId] == null)
            {
                SpawnerOutput sOInst = LoadedData.GetSingleton <Spawner>().CreateScriptedObject(subclassTypes[nodeId]);
                nodes[nodeId] = sOInst.script as AbilityTreeNode;
                nodes[nodeId].SetSourceObject(sOInst);

                // Changes its name
                nodes[nodeId].name = castingPlayer.ToString() + '/' + centralId.ToString() + '/' + nodeId.ToString();

                // Adds it to root
                nodes[nodeId].transform.SetParent(abilityNodeRoot);
            }

            AbilityTreeNode inst = nodes[nodeId];

            inst.SetNodeThreadId(-1);
            inst.SetNodeId(nodeId);
            inst.SetCentralId(castingPlayer, centralId);

            IOnNodeInitialised oNNInst = inst as IOnNodeInitialised;

            if (oNNInst != null)
            {
                oNNInst.OnNodeInitialised();
            }

            return(inst);
        }

        return(nodes[nodeId]);
    }
コード例 #23
0
    public override void NodeCallback()
    {
        base.NodeCallback();

        if (GetNodeVariable <bool>("Internal Input Track"))
        {
            TriggerInput();
        }

        if (IsClientPlayerUpdate())
        {
            if (!inputSet)
            {
                //Debug.Log("Input Key Set: " + GetNodeVariable<int>("Input Key"));
                LoadedData.GetSingleton <PlayerInput>().AddNewInput <int>(this, 0, (KeyCode)GetNodeVariable <int>("Input Key"), InputPressType.HOLD);
            }

            //Debug.Log("Input set for " + name);
            inputSet = true;
        }
    }
コード例 #24
0
    public void AssignInputKeys()
    {
        if (aData.ContainsKey(ClientProgram.clientId))
        {
            foreach (var ability in aData[ClientProgram.clientId].abilties)
            {
                if (!aData[ClientProgram.clientId].abilityManifest.ContainsValue(ability.Key))
                {
                    int keyAssigned = aData[ClientProgram.clientId].abilties[ability.Key].abilityInfo.kC;
                    LoadedData.GetSingleton <PlayerInput>().AddNewInput(aData[ClientProgram.clientId].abilties[ability.Key],0,(KeyCode)keyAssigned,0,true);

                    SpawnerOutput abilityButton = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));
                    LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(abilityButton,"Text").text = aData[ClientProgram.clientId].abilties[ability.Key].abilityInfo.n;
                    (abilities.script as LinearLayout).Add(abilityButton.script.transform as RectTransform);

                    LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(abilityButton).onClick.AddListener(() => {
                        aData[ClientProgram.clientId].abilties[ability.Key].InputCallback(0);
                    });
                }
            }
        }
    }
コード例 #25
0
    void Start()
    {
        mPos          = new Vector2();
        rcs           = 16;
        dimensions    = 450;
        PNGDimensions = 1024;

        CalibrateEditor();

        SpawnerOutput sO = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(sO).onClick.AddListener(SavePNG);
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(sO, "Text").text = "Save Art";

        SpawnerOutput nO = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(InputFieldWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <InputField>(nO).onValueChanged.AddListener((s) => {
            name = s;
        });

        sO.script.transform.position = UIDrawer.UINormalisedPosition(new Vector3(0.1f, 0.9f));
        nO.script.transform.position = UIDrawer.UINormalisedPosition(new Vector3(0.1f, 0.8f));

        GeneratePixels();
        pointer = CreatePixel();


        /*colors = new Color[1000];
         * for (int i = 0; i < colors.Length; i++)
         *  if (i < 500)
         *      colors[i] = Color.red;
         *  else
         *      colors[i] = Color.black;
         *
         * colorTest = new Texture2D(100, 10);
         * colorTest.SetPixels(colors);
         *
         * File.WriteAllBytes(Application.dataPath + "/../test6.png", colorTest.EncodeToPNG());*/
    }
コード例 #26
0
    /*public void SetTimerEventID(int id) {
     *  timerEventId = id;
     * }*/

    public void AddVariableNetworkData(params AbilityNodeNetworkData[] aNND)
    {
        //Debug.Log("Variable Data added.");

        /*if(timerEventId > -1) {
         *  //Debug.Log("Timer extended.");
         *  LoadedData.GetSingleton<Timer>().UpdateEventStartTime(timerEventId, Time.realtimeSinceStartup);
         * } else {
         *  //Debug.Log("New timer added.");
         *  timerEventId = LoadedData.GetSingleton<Timer>().CreateNewTimerEvent(0.05f, this);
         *  networkNodeData.Add(timerEventId, new List<AbilityNodeNetworkData>());
         * }*/

        if (!markPending)
        {
            markPending = true;
            LoadedData.GetSingleton <AbilityNetworkDataCompiler>().pendingData.Add(this);
        }


        //Debug.LogFormat("Central {0},{1} variable added..", castingPlayer, centralId);
        networkNodeData.AddRange(aNND);
    }
コード例 #27
0
    void CreateLines(Transform[] points, int id)
    {
        // Creates the graphical strings.
        SpawnerOutput lGraphic = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Image>(lGraphic, "Image").rectTransform.pivot = new Vector2(0.5f, 0);
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(lGraphic, "Text").text = "";

        // Adds event for changing of button colors
        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(lGraphic).onClick.AddListener(() => {
            switch (mMode)
            {
            case MouseMode.EDIT_CONN:
                int[] linkData = abilityData.linkAddresses.l[id];

                if (!LoadedData.GetVariableType(abilityData.subclasses.l[linkData[0]].classType, linkData[1], VariableTypes.PERMENANT_TYPE))
                {
                    linkData[4] = (int)lMode;
                    UpdateLineColor(id);
                    mMode = MouseMode.NONE;
                }
                break;

            case MouseMode.REMOVE_CONN:
                RemoveLine(id);
                mMode = MouseMode.NONE;
                break;
            }
        });

        LineData line = new LineData(points[0], points[1], lGraphic);

        lineData.ModifyElementAt(id, line);
        UpdateLineColor(id);
        UpdateLines(id);
    }
コード例 #28
0
    SpawnerOutput CreateVariableButtons(ActionType aT, int[] id)
    {
        SpawnerOutput linkageButton = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper));

        LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Text>(linkageButton, "Text").text = "";
        UIDrawer.ChangeUISize(linkageButton, new Vector2(20, 20));

        switch (aT)
        {
        case ActionType.RECIEVE:
            LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(linkageButton).onClick.AddListener(() => {
                CreateLinkage(id);
            });
            break;

        case ActionType.SEND:
            LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Button>(linkageButton).onClick.AddListener(() => {
                prevPath = id;
            });
            break;
        }

        return(linkageButton);
    }
コード例 #29
0
    public override SpawnerOutput ReturnCustomUI(int variable, RuntimeParameters rp)
    {
        int aN = GetVariableId("Ability Name");

        if (variable == aN)
        {
            SpawnerOutput aNField          = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(DropdownWrapper));
            Dropdown      dW               = LoadedData.GetSingleton <UIDrawer>().GetTypeInElement <Dropdown>(aNField);
            List <Dropdown.OptionData> dOd = new List <Dropdown.OptionData>();
            RuntimeParameters <string> rpS = rp as RuntimeParameters <string>;
            int selected = 0;

            foreach (var kPV in AbilityPageScript.abilityInfo)
            {
                dOd.Add(new Dropdown.OptionData(kPV.Value.n));

                if (kPV.Key == rpS.v)
                {
                    selected = dOd.Count - 1;
                }
            }

            dW.AddOptions(dOd);

            dW.value = selected;

            dW.onValueChanged.AddListener((id) => {
                string[] dirNames = AbilityPageScript.abilityInfo.Keys.ToArray();
                rpS.v             = dirNames[id];
            });

            return(aNField);
        }

        return(base.ReturnCustomUI(variable, rp));
    }
コード例 #30
0
    public override void OnSpawn()
    {
        if (windowsGraphic == null)
        {
            windowsGraphic = GetComponent <Image>();
        }

        deleteButton = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(ButtonWrapper)).script as ButtonWrapper;
        content      = LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(UIMule)).script as UIMule;
        windowsText  = (LoadedData.GetSingleton <UIDrawer>().CreateScriptedObject(typeof(TextWrapper)).script as TextWrapper).text;

        deleteButton.ChangeButtonSize(new Vector2(15, 15));
        deleteButton.image.color = Color.red;
        deleteButton.text.text   = "";
        windowsGraphic.color     = new Color(1, 1, 1, 0.5f);

        ChangeWindowsHeaderSize(new Vector4(25, 6, 6, 6));
        ChangeWindowsContentSize(new Vector2(100, 100));

        deleteButton.transform.SetParent(transform);
        content.transform.SetParent(transform);
        windowsText.transform.SetParent(transform);
        content.GetRectTransform().sizeDelta = new Vector2();

        deleteButton.button.onClick.RemoveAllListeners();
        deleteButton.button.onClick.AddListener(() => { gameObject.SetActive(false); });

        scriptsData = new AdditionalScriptData[] {
            new AdditionalScriptData("Windows", windowsGraphic),
            new AdditionalScriptData("DeleteButton", deleteButton),
            new AdditionalScriptData("Content", content),
            new AdditionalScriptData("WindowsText", windowsText)
        };

        transform.SetAsLastSibling();
    }