예제 #1
0
        private static Tiles ConnectDoorsViaConnectingLine(Tiles tilesWithUnconnectedDoors, ILine firstProjection, ILine secondProjection, ILine connectingLine)
        {
            var startOfConnectingLine = connectingLine.First();
            var firstDoor             = firstProjection.Single(tilePosition => tilesWithUnconnectedDoors.IsTileType <Door>(tilePosition.Coordinates));
            var fromFirstToConnecting = ExtractLineBetween(firstProjection, firstDoor.Coordinates, startOfConnectingLine.Coordinates);

            var endOfConnectingLine    = connectingLine.Last();
            var secondDoor             = secondProjection.Single(tilePosition => tilesWithUnconnectedDoors.IsTileType <Door>(tilePosition.Coordinates));
            var fromConnectingToSecond = ExtractLineBetween(secondProjection, secondDoor.Coordinates, endOfConnectingLine.Coordinates);

            var finalRoute = new Line();

            finalRoute.AddRange(fromFirstToConnecting);
            finalRoute.AddRange(connectingLine.Select(Tunnel));
            finalRoute.AddRange(fromConnectingToSecond);

            var stateChange = finalRoute.ToTilesState();
            var tilesWithNewlyConnectedDoors = tilesWithUnconnectedDoors.Clone(stateChange);

            return(tilesWithNewlyConnectedDoors);
        }
예제 #2
0
    /// <summary>
    /// This function returns an array of components. Its a modiefied version of the build in function and can exclude 'this' object itself.
    /// </summary>
    /// <typeparam name="T">Return type.</typeparam>
    /// <param name="_Transform">This Object.</param>
    /// <param name="_IncludeSelf">Returns the Array with itself. Dont use this extension if you want that!</param>
    /// <param name="_IncludeInactive">Includes inactive Objects in the hierarchy.</param>
    /// <returns></returns>
    public static T[] GetComponentsInChildrenExtension <T>(this Transform _Transform, bool _IncludeSelf = false, bool _IncludeInactive = true)
    {
        if (_IncludeSelf)
        {
            return(_Transform.GetComponentsInChildren <T>(_IncludeInactive));
        }
        else
        {
            System.Collections.Generic.List <T> tCompArray = new System.Collections.Generic.List <T>();
            tCompArray.AddRange(_Transform.GetComponentsInChildren <T>(_IncludeInactive));

            for (int i = tCompArray.Count - 1; i >= 0; i--)
            {
                if (tCompArray[i].Equals(_Transform.GetComponent <T>()))
                {
                    tCompArray.RemoveAt(i);
                }
            }
            return(tCompArray.ToArray());
        }
    }
예제 #3
0
    public override void _Ready()
    {
        GD.Randomize();

        // Get references to all the nodes we need to manipulate
        _mortar            = GetNode <Mortar>("MortarPestle/Mortar");
        _potionCircle      = GetNode <PotionCircle>("MortarPestle/Crush/PotionCircle");
        _potionReagentsBox = GetNode <VBoxContainer>("MortarPestle/PickReagents/PotionReagentsBox");
        _helpDialog        = GetNode <AcceptDialog>("HelpDialog");
        _proceedToCrush    = GetNode <Button>("MortarPestle/PickReagents/ProceedToCrush");
        _tween             = GetNode <Tween>("MortarPestle/PickReagents/Tween");
        _inventory         = GetNode <Inventory>("MortarPestle/PickReagents/Inventory");
        _inventory.SetSize(4, 4);
        _inventory.DrawPosition = new Vector2(324f, 16f);
        _inventory.CanDeselect  = false;
        _itemTooltip            = GetNode <ItemTooltip>("MortarPestle/PickReagents/ItemTooltip");
        _debugOverlay           = GetNode <DebugOverlay>("DebugOverlay");

        // Load assets needed
        _itemBtnBg      = GD.Load <Texture>("res://textures/item_slot.png");
        _singleItemSlot = GD.Load <Texture>("res://textures/single_item_slot.png");
        _smallFont      = GD.Load <DynamicFont>("res://font/small_font.tres");

        // Signal connections
        GetNode <TouchScreenButton>("HelpButton").Connect("released", this, nameof(DisplayHelpPopup));
        _proceedToCrush.Connect("pressed", this, nameof(ProceedToCrushPressed));
        _tween.Connect("tween_all_completed", this, nameof(TweenAllCompleted));
        _inventory.Connect("ItemSlotSelected", this, nameof(InventorySlotSelected));
        GetNode <Button>("MortarPestle/PickReagents/AddToPotion").Connect("pressed", this, nameof(ItemButtonReleased));

        // Adding items to simulate an inventory
        _itemList.AddRange(new Item.ItemStack[] { new Item.ItemStack(Items.BRIMSTONE, 1), new Item.ItemStack(Items.FLY_AGARIC, 3), new Item.ItemStack(Items.ELDERBERRIES, 5), new Item.ItemStack(Items.ORPIMENT, 1), new Item.ItemStack(Items.HOLLY_BERRIES, 3) });
        _inventory.UpdateSlots(_itemList);

        // Tracking stuff for debug
        _debugOverlay.TrackProperty(nameof(_mortarPestleStage), this, "MortarPestleStage");
        _debugOverlay.TrackProperty(nameof(_mortar.CurrentParticleColour), _mortar, "Splash Colour");
    }
예제 #4
0
    /// <summary>
    /// 获取广告信息,在编辑器下无效
    /// </summary>
    /// <param name="info"></param>
    public static AdvInfo GetAdvInfo()
    {
        AdvInfo info = new AdvInfo();

        //编辑器下的信息
        if (Application.isEditor)
        {
            info.radid     = string.Empty;
            info.rsid      = string.Empty;
            info.PartnerID = "0";

            return(info);
        }

        string RadidKey   = "radid:";
        string rsidKey    = "rsid:";
        string PartnerKey = "Partner:";

        System.Collections.Generic.List <string> argList = new System.Collections.Generic.List <string>();
        argList.AddRange(System.Environment.GetCommandLineArgs());

        foreach (string arg in argList)
        {
            if (arg.Contains(RadidKey))
            {
                info.radid = arg.Replace(RadidKey, string.Empty);
            }
            if (arg.Contains(rsidKey))
            {
                info.rsid = arg.Replace(rsidKey, string.Empty);
            }
            if (arg.Contains(PartnerKey))
            {
                info.PartnerID = arg.Replace(PartnerKey, string.Empty);
            }
        }
        return(info);
    }
예제 #5
0
    public string[] ListDir(string path, bool getFolders = false)
    {
        if (path == null)
        {
            throw new CYFException("Cannot list a directory with a nil path.");
        }
        if (path.Contains(".."))
        {
            throw new CYFException("You cannot list directories outside of a mod folder. The use of \"..\" is forbidden.");
        }

        path = (FileLoader.ModDataPath + "/" + path).Replace('\\', '/');
        if (!Directory.Exists(path))
        {
            throw new CYFException("Invalid path:\n\n\"" + path + "\"");
        }

        DirectoryInfo d = new DirectoryInfo(path);

        System.Collections.Generic.List <string> retval = new System.Collections.Generic.List <string>();
        retval.AddRange(!getFolders ? d.GetFiles().Select(fi => Path.GetFileName(fi.ToString()))
                                    : d.GetDirectories().Select(di => di.Name));
        return(retval.ToArray());
    }
예제 #6
0
    public void Run()
    {
        RC4Encryption rc4Server = new RC4Encryption();
        RC4Encryption rc4Client = new RC4Encryption();

        rc4Server.makeSBox("zhangyawei");
        rc4Client.makeSBox("zhangyawei");

        IPAddress ip           = IPAddress.Parse("127.0.0.1");
        Socket    clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

        try
        {
            clientSocket.Connect(new IPEndPoint(ip, 26001));
            Debug.logger.Log("connect Success.");
        }
        catch
        {
            Debug.logger.Log("connect Failed");
            return;
        }
        if (true)
        {
            ClientAuthReq req     = new ClientAuthReq("test", "123");
            var           binData = req.__encode().ToArray();
            //binData = rc4Client.encryption(binData, binData.Length());

            var sendData = new System.Collections.Generic.List <byte>();

            NetHeader head = new NetHeader();
            head.packLen = (UInt32)(4 + 2 + 2 + binData.Length);
            head.protoID = Proto4z.ClientAuthReq.getProtoID();
            sendData.AddRange(head.__encode());
            sendData.AddRange(binData);
            clientSocket.Send(sendData.ToArray());

            var       recvBytes = new byte[2000];
            uint      curLen    = 0;
            uint      needLen   = 4 + 2 + 2; //暂时分两段读 后面要改buff接收提高效率
            uint      recvLen   = 0;
            NetHeader recvHead  = new NetHeader();
            do
            {
                recvLen = (uint)clientSocket.Receive(recvBytes, (int)curLen, (int)needLen, System.Net.Sockets.SocketFlags.None);//第一段
                if (recvLen == 0)
                {
                    // remote close socket.
                    return;
                }
                curLen  += recvLen;
                needLen -= recvLen;
                if (needLen == 0 && curLen == 4 + 2 + 2) ////第一段 完成
                {
                    int pos = 0;
                    recvHead.__decode(recvBytes, ref pos);
                    needLen = recvHead.packLen - 4 - 2 - 2; //设置第二段
                }
                else if (needLen == 0)                      //第二段完成
                {
                    if (recvHead.protoID == Proto4z.ClientAuthResp.getProtoID())
                    {
                        ClientAuthResp result = new ClientAuthResp();
                        int            pos    = 4 + 2 + 2;
                        result.__decode(recvBytes, ref pos);

                        Debug.logger.Log("ClientAuthResp: account=" + result.account + ", token=" + result.token + ",retCode=" + result.retCode);
                        int t = 0;
                        t++;
                    }
                    else if (true) //other proto
                    {
                    }
                    break; //一个协议接收处理完毕后break
                }
                recvLen = 0;
            } while (true);
        }
    }
    static byte[] GetHeader(AudioClip clip, int chunk_length)
    {
        var bytes    = new System.Collections.Generic.List <byte>();
        var hz       = clip.frequency;
        var channels = clip.channels;
        var samples  = clip.samples;

        byte[] riff = System.Text.Encoding.UTF8.GetBytes("RIFF");
        bytes.AddRange(riff);

        byte[] chunkSize = BitConverter.GetBytes(chunk_length - 8);
        bytes.AddRange(chunkSize);

        byte[] wave = System.Text.Encoding.UTF8.GetBytes("WAVE");
        bytes.AddRange(wave);

        byte[] fmt = System.Text.Encoding.UTF8.GetBytes("fmt ");
        bytes.AddRange(fmt);

        byte[] subChunk1 = BitConverter.GetBytes(16);
        bytes.AddRange(subChunk1);

        const ushort AUDIO_FORMAT = 1;

        byte[] audioFormat = BitConverter.GetBytes(AUDIO_FORMAT);
        bytes.AddRange(audioFormat);

        byte[] numChannels = BitConverter.GetBytes((short)channels);
        bytes.AddRange(numChannels);

        byte[] sampleRate = BitConverter.GetBytes(hz);
        bytes.AddRange(sampleRate);

        byte[] byteRate = BitConverter.GetBytes(hz * channels * 2); // sampleRate * bytesPerSample * number of channels, here 44100*2*2
        bytes.AddRange(byteRate);

        ushort blockAlign = (ushort)(channels * 2);

        bytes.AddRange(BitConverter.GetBytes(blockAlign));

        ushort bps = 16;

        byte[] bitsPerSample = BitConverter.GetBytes(bps);
        bytes.AddRange(bitsPerSample);

        byte[] datastring = System.Text.Encoding.UTF8.GetBytes("data");
        bytes.AddRange(datastring);

        byte[] subChunk2 = BitConverter.GetBytes(samples * channels * 2);
        bytes.AddRange(subChunk2);

        return(bytes.ToArray());
    }
예제 #8
0
    private void drawRandomSpace()
    {
        SolidBrush brush = new SolidBrush(Color.Black);
        Rectangle  rect  = new Rectangle(0, 0, 1280, 750);

        g.FillRectangle(brush, rect);

        SolidBrush whiteBrush = new SolidBrush(Color.White);
        Pen        pen        = new Pen(whiteBrush);

        for (int i = 0; i < 70; i++)
        {
            int x = r.Next(1280);
            int y = r.Next(750);

            g.DrawEllipse(pen, x, y, 1, 1);
        }

        if (oneup)
        {
            oney -= 10;
            g.DrawImage(submarineLeftUp, onex, oney, 80, 300);
            int v = r.Next((35 - level) * 15 - level / 2);
            if (v == 1 || v == 2 || v == 3 || v == 4 || v == 5 || v == 6 || v == 7 || v == 8)
            {
                Glock gl = new Glock(explosion, g, onex / 20, oney / 20, bulletOne, ship);
                gl.exe(gl.randomizeShiets(gl.Sheut()));
                B.AddRange(gl.B);
            }
            if (oney < 1)
            {
                oneup = false;
            }
        }
        else
        {
            oney += 10;
            g.DrawImage(submarineLeftDown, onex, oney, 80, 300);
            int v = r.Next((35 - level) * 15 - level / 2);
            if (v == 1 || v == 2 || v == 3 || v == 4 || v == 5 || v == 6 || v == 7 || v == 8)
            {
                Glock gl = new Glock(explosion, g, onex / 20, oney / 20, bulletOne, ship);
                gl.exe(gl.randomizeShiets(gl.Sheut()));
                B.AddRange(gl.B);
            }
            if (oney > 803)
            {
                oneup = true;
            }
        }

        if (threeup)
        {
            threey -= 10;
            g.DrawImage(submarineRightUp, threex, threey, 80, 300);
            int v = r.Next((35 - level) * 15 - level / 2);
            if (v == 1 || v == 2 || v == 3 || v == 4 || v == 5 || v == 6 || v == 7 || v == 8)
            {
                Glock gl = new Glock(explosion, g, threex / 20, threey / 20, bulletThree, ship);
                gl.opp();
                gl.exe(gl.randomizeShiets(gl.Sheut()));
                B.AddRange(gl.B);
            }
            if (threey < 1)
            {
                threeup = false;
            }
        }
        else
        {
            threey += 10;
            g.DrawImage(submarineRightDown, threex, threey, 80, 300);
            int v = r.Next((35 - level) * 15 - level / 2);
            if (v == 1 || v == 2 || v == 3 || v == 4 || v == 5 || v == 6 || v == 7 || v == 8)
            {
                Glock gl = new Glock(explosion, g, threex / 20, threey / 20, bulletThree, ship);
                gl.opp();
                gl.exe(gl.randomizeShiets(gl.Sheut()));
                B.AddRange(gl.B);
            }
            if (threey > 803)
            {
                threeup = true;
            }
        }

        if (twoleft)
        {
            twox -= 10;
            g.DrawImage(submarineTopLeft, twox, twoy, 300, 80);
            int v = r.Next((35 - level) * 15 - level / 2);
            if (v == 1 || v == 2 || v == 3 || v == 4 || v == 5 || v == 6 || v == 7 || v == 8)
            {
                Glock gl = new Glock(explosion, g, twox / 20, twoy / 20, bulletTwo, ship);
                gl.ver();
                gl.exe(gl.randomizeShiets(gl.Sheut()));
                B.AddRange(gl.B);
            }
            if (twox < 1)
            {
                twoleft = false;
            }
        }
        else
        {
            twox += 10;
            g.DrawImage(submarineTopRight, twox, twoy, 300, 80);
            int v = r.Next((35 - level) * 15 - level / 2);
            if (v == 1 || v == 2 || v == 3 || v == 4 || v == 5 || v == 6 || v == 7 || v == 8)
            {
                Glock gl = new Glock(explosion, g, twox / 20, twoy / 20, bulletTwo, ship);
                gl.ver();
                gl.exe(gl.randomizeShiets(gl.Sheut()));
                B.AddRange(gl.B);
            }
            if (twox > 1280)
            {
                twoleft = true;
            }
        }

        if (fourleft)
        {
            fourx -= 10;
            if (fourx < 0)
            {
                fourx += 10;
            }
            g.DrawImage(submarineBottomLeft, fourx, foury, 300, 80);
            int v = r.Next((35 - level) * 15 - level / 2);
            if (v == 1 || v == 2 || v == 3 || v == 4 || v == 5 || v == 6 || v == 7 || v == 8)
            {
                Glock gl = new Glock(explosion, g, fourx / 20, foury / 20, bulletFour, ship);
                gl.ver();
                gl.opp();
                gl.exe(gl.randomizeShiets(gl.Sheut()));
                B.AddRange(gl.B);
            }
            if (fourx < 1)
            {
                fourleft = false;
            }
        }
        else
        {
            fourx += 10;
            if (fourx > 1280)
            {
                fourleft = true;
            }
            if (fourx > 1280)
            {
                fourx -= 10;
            }
            g.DrawImage(submarineBottomRight, fourx, foury, 300, 80);
            int v = r.Next((35 - level) * 15 - level / 2);
            if (v == 1 || v == 2 || v == 3 || v == 4 || v == 5 || v == 6 || v == 7 || v == 8)
            {
                Glock gl = new Glock(explosion, g, fourx / 20, foury / 20, bulletFour, ship);
                gl.ver();
                gl.opp();
                gl.exe(gl.randomizeShiets(gl.Sheut()));
                B.AddRange(gl.B);
            }
        }

        for (int k = 0; k < B.Count; k++)
        {
            if (B[k].dead != true)
            {
                try
                {
                    g.DrawImage(B[k].myBullet, B[k].whereami.X * 20, B[k].whereami.Y * 20, B[k].myBullet.Width / 2, B[k].myBullet.Height / 2);
                }
                catch (Exception ex)
                {
                }
            }
            else
            {
                B.Remove(B[k]);
            }
        }

        if (ship.direction.Equals("up"))
        {
            ship.y -= 1;
            Image gg = shipup.GetNextFrame();
            g.DrawImage(gg, ship.x * 20, ship.y * 20, 40, 40);
        }
        if (ship.direction.Equals("down"))
        {
            ship.y += 1;
            Image gg = shipdown.GetNextFrame();
            g.DrawImage(gg, ship.x * 20, ship.y * 20, 40, 40);
        }
        if (ship.direction.Equals("left"))
        {
            ship.x -= 1;
            Image gg = shipleft.GetNextFrame();
            g.DrawImage(gg, ship.x * 20, ship.y * 20, 40, 40);
        }
        if (ship.direction.Equals("right"))
        {
            ship.x += 1;
            Image gg = shipright.GetNextFrame();
            g.DrawImage(gg, ship.x * 20, ship.y * 20, 40, 40);
        }

        for (int i = 0; i < monsters.Count; i++)
        {
            if (i < monsters.Count)
            {
                int x  = r.Next(2) - r.Next(2);
                int y  = r.Next(2) - r.Next(2);
                int v  = r.Next(20);
                int v2 = r.Next(7);
                if (level % 2 == 0)
                {
                    if (v == 4)
                    {
                        monsters[i].follow = !monsters[i].follow;
                    }
                    else if (v2 == 4)
                    {
                        monsters[i].follow = !monsters[i].follow;
                    }

                    if (monsters[i].follow)
                    {
                        monsters[i].move = !monsters[i].move;
                        if (ship.x < monsters[i].x && monsters[i].move)
                        {
                            monsters[i].x--;
                        }
                        if (ship.y < monsters[i].y && monsters[i].move)
                        {
                            monsters[i].y--;
                        }

                        if (ship.x > monsters[i].x && monsters[i].move)
                        {
                            monsters[i].x++;
                        }
                        if (ship.y > monsters[i].y && monsters[i].move)
                        {
                            monsters[i].y++;
                        }
                    }
                }
                if (!monsters[i].follow)
                {
                    monsters[i].move = !monsters[i].move;
                    if (monsters[i].move)
                    {
                        monsters[i].x += x;
                        monsters[i].y += y;
                    }
                }
                if (ship.x == monsters[i].x && ship.y == monsters[i].y)
                {
                    ship.life -= 100;
                    explode();
                }
                try
                {
                    Image m = null;
                    if (monsters[i].follow)
                    {
                        m = monsterFollow;
                    }
                    else
                    {
                        m = monster;
                    }
                    g.DrawImage(m, monsters[i].x * 20, monsters[i].y * 20, 35, 35);
                }
                catch (Exception ex)
                {
                }
            }
        }

        for (int i = 0; i < caps.Count; i++)
        {
            if (i < caps.Count)
            {
                try
                {
                    g.DrawImage(energy, caps[i].x * 20, caps[i].y * 20, 40, 40);
                    if (ship.x == caps[i].x && ship.y == caps[i].y)
                    {
                        ship.life += 20;
                        g.DrawImage(explosion, ship.x * 20, ship.y * 20, 68, 68);
                        //threadPlayDing.Start();
                        explode();
                        eliminateCapsule(caps[i]);
                    }
                }
                catch (Exception ex)
                {
                }
            }
        }
    }
예제 #9
0
    void Start()
    {
        name_control();
        tebriklerText.text = "Tebrikler " + PlayerPrefs.GetString("Username") + " !\nBütün bölümleri başarı ile tamamladınız, işte başardıklarınız!";
        anaskorText.text   = "Ana Skor\n" + PlayerPrefs.GetInt("AnaSkor");
        for (int i = 0; i < goBasarim.transform.childCount; i++)
        {
            basarimImages.Add(goBasarim.transform.GetChild(i).GetComponent <Image>());
            basarimImages[i].sprite = Resources.Load <Sprite>("basarimResimleri/basarim" + (i + 1));
            Color32 temp = new Color32(87, 87, 87, 180);
            basarimImages[i].color = temp;
            basarimKontrol(i);
        }
        if (puzzleImages.Count == 0)
        {
            puzzleImages.Clear();
            for (int i = 0; i < goPuzzle.transform.childCount; i++)
            {
                for (int y = 0; y < 4; y++)
                {
                    puzzleImages.Add(goPuzzle.transform.GetChild(i).gameObject.transform.GetChild(y).gameObject.GetComponent <Image>());
                }
            }
        }
        for (int i = 0; i < goPuzzle.transform.childCount; i++)
        {
            for (int y = 0; y < 4; y++)
            {
                puzzleImages[i * 4 + y].sprite = Resources.Load <Sprite>("Puzzles/" + i + "/" + names[i] + (y + 1));
                Color32 temp = new Color32(87, 87, 87, 180);
                puzzleImages[i * 4 + y].color = temp;
            }
        }
        for (int i = 0; i < 15; i++)
        {
            tamamlanmaControl(names[i], i);
        }
        for (int i = 0; i < goLevel.transform.childCount; i++)
        {
            level_Images.Add(goLevel.transform.GetChild(i).GetComponent <Image>());
            switch (PlayerPrefs.GetString("alphabe" + (i + 1)))
            {
            case "oneStar":
                level_Images[i].sprite = oneSTAR;
                break;

            case "twoStar":
                level_Images[i].sprite = twoSTAR;
                break;

            case "threeStar":
                level_Images[i].sprite = threeSTAR;
                break;

            default:
                level_Images[i].gameObject.SetActive(false);
                break;
            }
        }

        rutbeImages.AddRange(Resources.LoadAll <Sprite>("rutbeResimleri"));
        if (PlayerPrefs.GetInt("AnaSkor") < 500)
        {
            Destroy(RUTBE_IMAGES);
            RUTBE_TEXT.text = "SEVİYE YOK";
        }
        if (PlayerPrefs.GetInt("AnaSkor") >= 500 && PlayerPrefs.GetInt("AnaSkor") < 10000)
        {
            if (!PlayerPrefs.HasKey("rutbe_acemi"))
            {
                GameObject rutbeAL = Resources.Load("GameObject/rutbeAL") as GameObject;
                rutbeAL.GetComponent <rutbeUyari>().currentRutbe = "acemi";
                Destroy(Instantiate(rutbeAL), 3f);
                PlayerPrefs.SetInt("rutbe_acemi", 1);
            }
            for (int i = 0; i < rutbeImages.Count; i++)
            {
                if (rutbeImages[i].name == "acemi")
                {
                    RUTBE_IMAGES.sprite = rutbeImages[i];
                    break;
                }
            }
            RUTBE_TEXT.text = "ACEMİ";
        }
        if (PlayerPrefs.GetInt("AnaSkor") >= 10000 && PlayerPrefs.GetInt("AnaSkor") < 35000)
        {
            if (!PlayerPrefs.HasKey("rutbe_tecrubeli"))
            {
                GameObject rutbeAL = Resources.Load("GameObject/rutbeAL") as GameObject;
                rutbeAL.GetComponent <rutbeUyari>().currentRutbe = "tecrubeli";
                Destroy(Instantiate(rutbeAL), 3f);
                PlayerPrefs.SetInt("rutbe_tecrubeli", 1);
            }
            for (int i = 0; i < rutbeImages.Count; i++)
            {
                if (rutbeImages[i].name == "tecrubeli")
                {
                    RUTBE_IMAGES.sprite = rutbeImages[i];
                    break;
                }
            }
            RUTBE_TEXT.text = "TECRÜBELİ";
        }
        if (PlayerPrefs.GetInt("AnaSkor") >= 35000)
        {
            if (!PlayerPrefs.HasKey("rutbe_efsanevi"))
            {
                GameObject rutbeAL = Resources.Load("GameObject/rutbeAL") as GameObject;
                rutbeAL.GetComponent <rutbeUyari>().currentRutbe = "efsanevi";
                Destroy(Instantiate(rutbeAL), 3f);
                PlayerPrefs.SetInt("rutbe_efsanevi", 1);
            }
            for (int i = 0; i < rutbeImages.Count; i++)
            {
                if (rutbeImages[i].name == "efsanevi")
                {
                    RUTBE_IMAGES.sprite = rutbeImages[i];
                    break;
                }
            }
            RUTBE_TEXT.text = "EFSANEVİ";
        }
    }
예제 #10
0
 void Start()
 {
     energys.AddRange(GameObject.FindGameObjectsWithTag("enerji"));
 }
    public static void FindExclusiveObject <T>(this Component component, ref T obj) where T : UnityEngine.Object
    {
#if UNITY_EDITOR
        var _go        = component.gameObject;
        var prefabType = PrefabUtility.GetPrefabType(_go);
        //Is the selected gameobject a prefab?
        if (prefabType != PrefabType.PrefabInstance && prefabType != PrefabType.DisconnectedPrefabInstance && prefabType != PrefabType.MissingPrefabInstance && prefabType != PrefabType.None)
        {
#if UNITY_EDITOR
            //Debug.LogError(mono.GetType()+"on +"+ mono.gameObject+ " PrefabType=" + prefabType);
#endif
            return;
        }
#endif
        if (Application.isPlaying)
        {
            return;
        }
        if (obj != null)
        {
            return;
        }


        var _objs = UnityEngine.Object.FindObjectsOfType <T>();
#if UNITY_EDITOR
        if (debug)
        {
            Debug.LogError("Find:_obj.Length=" + _objs.Length);
        }
#endif

        if (_objs.Length <= 0)
        {
            var scene = UnityEngine.SceneManagement.SceneManager.GetActiveScene();
            if (!scene.isLoaded)
            {
                return;
            }
            var roots = scene.GetRootGameObjects();
            System.Collections.Generic.List <T> list  = new System.Collections.Generic.List <T>(100);
            System.Collections.Generic.List <T> list2 = new System.Collections.Generic.List <T>(100);
            if (roots != null)
            {
                for (int i = 0; i < roots.Length; i++)
                {
                    //GetComponentsInChildren сам вызывает Clear, но на всякий
                    list2.Clear();
                    roots[i].GetComponentsInChildren <T>(true, list2);
                    list.AddRange(list2);
                    //list.AddRange(roots[i].GetComponentsInChildren<T>(true));
                }
            }
            _objs = list.ToArray();
#if UNITY_EDITOR
            if (debug)
            {
                Debug.LogError("Root:_obj.Length=" + _objs.Length);
            }
#endif
        }

        if (_objs.Length <= 0)
        {
            var roots = UnityEngine.SceneManagement.SceneManager.GetActiveScene().GetRootGameObjects();
            if (roots != null)
            {
                for (int i = 0; i < roots.Length; i++)
                {
                    _objs = roots[i].GetComponentsInChildren <T>(true);
                }
            }
            Debug.LogError(component.GetType() + " error: Оbjects of " + typeof(T) + " type is not exist");
            return;
        }
        else if (_objs.Length > 1)
        {
            Debug.LogError(component.GetType() + " error: Оbjects of " + typeof(T) + " type is more than one");
        }
        obj = _objs[0];
#if UNITY_EDITOR
        if (obj == null)
        {
            Debug.LogError(component.GetType() + " error: Object is null");
        }
#endif
    }
예제 #12
0
    void OnEnable()
    {
        loading = false;
        RUTBE_IMAGES.AddRange(Resources.LoadAll <Sprite>("rutbeResimleri"));
        for (int i = 0; i < 10; i++)
        {
            hintList.Add("");
        }
        hintList[0] = "Oyunumuzu Beğendin mi?\nHemen oyla!";
        hintList[1] = "Görevleri yaparak para kazanabileceğini biliyormuydun?";
        hintList[2] = "En yüksek skorları yapmak istiyorsan en kısa zamanda, en az yanlış miktarıyla bölümü bitirmelisin!";
        hintList[3] = "Elmaslar çok nadir ve çok değerlidir.\nElmaslar sayesinde bölüme devam edebilir, enerjilerini doldurabilirsin!";
        hintList[4] = "Oyun sonunda sandıkların tamamını açmak için video izleyebilirsin.\nSandıklarda seni sürpriz hediyeler bekliyor!";
        hintList[5] = "Elmaslar çok değerlidir! Bölümleri tamamlayarak ve sandıklardan elmas kazanabilirsin!\nHer beş bölümde bir elmas kazanırsın!";
        hintList[6] = "Oyunda arkadaşlarından yüksek skorlar elde et, onlara ne kadar iyi olduğunu göster!";
        hintList[7] = "Beklemekten sıkıldın mı?\nHemen markete git, sınırsız enerji satın al!";
        hintList[8] = "Bilemediğin bir soruyla karşılaştın?\nSorun değil! 1500KP karşılığında istediğin soruyu geçebilirsin!";
        hintList[9] = "Oyun ile alakalı görüşlerini bildir!\nBu bize daha iyi bir oyun geliştirmek için yardımcı olacaktır!";
        if (PlayerPrefs.HasKey("level_available46"))
        {
            GameObject rutbeAL = Resources.Load("GameObject/OyunSonuEkrani") as GameObject;
            Instantiate(rutbeAL);
        }
        //Bolumdeki prefabların cekilmesi.
        gameManager   = GameObject.FindGameObjectWithTag("GameManager").GetComponent <GameManager>();
        USERNAME.text = PlayerPrefs.GetString("Username");
        Pp.sprite     = PpImages[PlayerPrefs.GetInt("ProfilePicture")];
        if (PlayerPrefs.GetInt("AnaSkor") < 500)
        {
            Destroy(RUTBE);
            RUTBE_TEXT.text = "";
        }
        if (PlayerPrefs.GetInt("AnaSkor") >= 500 && PlayerPrefs.GetInt("AnaSkor") < 10000)
        {
            if (!PlayerPrefs.HasKey("rutbe_acemi"))
            {
                GameObject rutbeAL = Resources.Load("GameObject/rutbeAL") as GameObject;
                rutbeAL.GetComponent <rutbeUyari>().currentRutbe = "acemi";
                Destroy(Instantiate(rutbeAL), 3f);
                PlayerPrefs.SetInt("rutbe_acemi", 1);
            }
            for (int i = 0; i < RUTBE_IMAGES.Count; i++)
            {
                if (RUTBE_IMAGES[i].name == "acemi")
                {
                    RUTBE.sprite = RUTBE_IMAGES[i];
                    break;
                }
            }
            RUTBE_TEXT.text = "ACEMİ";
        }
        if (PlayerPrefs.GetInt("AnaSkor") >= 10000 && PlayerPrefs.GetInt("AnaSkor") < 35000)
        {
            if (!PlayerPrefs.HasKey("rutbe_tecrubeli"))
            {
                GameObject rutbeAL = Resources.Load("GameObject/rutbeAL") as GameObject;
                rutbeAL.GetComponent <rutbeUyari>().currentRutbe = "tecrubeli";
                Destroy(Instantiate(rutbeAL), 3f);
                PlayerPrefs.SetInt("rutbe_tecrubeli", 1);
            }
            for (int i = 0; i < RUTBE_IMAGES.Count; i++)
            {
                if (RUTBE_IMAGES[i].name == "tecrubeli")
                {
                    RUTBE.sprite = RUTBE_IMAGES[i];
                    break;
                }
            }
            RUTBE_TEXT.text = "TECRÜBELİ";
        }
        if (PlayerPrefs.GetInt("AnaSkor") >= 35000)
        {
            if (!PlayerPrefs.HasKey("rutbe_efsanevi"))
            {
                GameObject rutbeAL = Resources.Load("GameObject/rutbeAL") as GameObject;
                rutbeAL.GetComponent <rutbeUyari>().currentRutbe = "efsanevi";
                Destroy(Instantiate(rutbeAL), 3f);
                PlayerPrefs.SetInt("rutbe_efsanevi", 1);
            }
            for (int i = 0; i < RUTBE_IMAGES.Count; i++)
            {
                if (RUTBE_IMAGES[i].name == "efsanevi")
                {
                    RUTBE.sprite = RUTBE_IMAGES[i];
                    break;
                }
            }
            RUTBE_TEXT.text = "EFSANEVİ";
        }
        EnergyTimes();
        if (PlayerPrefs.GetInt("current_level") < 45)
        {
            cam.anchoredPosition = new Vector2(level_transform[PlayerPrefs.GetInt("current_level")].x, level_transform[PlayerPrefs.GetInt("current_level")].y);
        }
        else
        {
            cam.anchoredPosition = new Vector2(level_transform[44].x, level_transform[44].y);
        }
        for (int i = 0; i < Go.transform.childCount - 1; i++)
        {
            level_buttons.Add(Go.transform.GetChild(i).gameObject.GetComponent <Button>());
        }

        //aktif olabilecek prefablarin kapatilmasi.
        loadingscreen.SetActive(false);
        enerjidoldur.SetActive(false);
        for (int i = 0; i < 45; i++)
        {
            if (PlayerPrefs.HasKey("level_available" + (i + 1)))
            {
                level_buttons[i].interactable = true;
                level_buttons[i].transform.GetChild(0).gameObject.GetComponent <Image>().color = Color.green;
                locationpin.transform.SetParent(level_buttons[i].gameObject.transform, false);
                if (PlayerPrefs.HasKey("alphabe" + i))
                {
                    alphabet.GetComponent <alphabetscript>().a = PlayerPrefs.GetString("alphabe" + i);
                    if (PlayerPrefs.GetString("alphabe" + i) == "threeStar")
                    {
                        alphabet.transform.GetChild(0).GetComponent <Image>().color = Color.yellow;
                    }
                    else
                    {
                        alphabet.transform.GetChild(0).GetComponent <Image>().color = Color.gray;
                    }
                    Instantiate(alphabet, level_buttons[i - 1].transform, false);
                }
            }
            else
            {
                level_buttons[i].interactable = false;
                level_buttons[i].transform.GetChild(0).gameObject.GetComponent <Image>().color = Color.gray;
            }
        }
        if (PlayerPrefs.HasKey("level_available46"))
        {
            level_buttons[44].transform.GetChild(0).gameObject.GetComponent <Image>().color = Color.gray;
            locationpin.SetActive(false);
            if (PlayerPrefs.HasKey("alphabe" + 45))
            {
                alphabet.GetComponent <alphabetscript>().a = PlayerPrefs.GetString("alphabe" + 45);
                if (PlayerPrefs.GetString("alphabe" + 45) == "threeStar")
                {
                    alphabet.transform.GetChild(0).GetComponent <Image>().color = Color.yellow;
                }
                else
                {
                    alphabet.transform.GetChild(0).GetComponent <Image>().color = Color.gray;
                }
                Instantiate(alphabet, level_buttons[44].transform, false);
            }
        }
        if (PlayerPrefs.GetInt("current_level") == 0)
        {
            locationpin.transform.SetParent(level_buttons[0].gameObject.transform, false);
            if (PlayerPrefs.HasKey("alphabe" + 0))
            {
                alphabet.GetComponent <alphabetscript>().a = PlayerPrefs.GetString("alphabe" + 0);
                alphabet.transform.GetChild(0).GetComponent <Image>().color = Color.yellow;
                Instantiate(alphabet, level_buttons[0].transform, false);
            }
        }
        level_buttons[0].interactable = true;
        level_buttons[0].transform.GetChild(0).GetComponent <Image>().color = Color.green;
        //AnaSkorun cekilmesi
        if (ToplamSkor_Text.gameObject && PlayerPrefs.HasKey("AnaSkor"))
        {
            ToplamSkor_Text.text = "Skor : " + PlayerPrefs.GetInt("AnaSkor");
        }
        else
        {
            ToplamSkor_Text.text = "Skor verisi alınamadı.";
        }

        //paranin cekilmesi
        if (Para_Text.gameObject && PlayerPrefs.HasKey("Para"))
        {
            Para_Text.text = "KP : " + PlayerPrefs.GetInt("Para");
        }
        else
        {
            Para_Text.text = "Para verisi alınamadı.";
        }
        //elmasin cekilmesi
        if (Elmas_Text.gameObject && PlayerPrefs.HasKey("Elmas"))
        {
            Elmas_Text.text = "ELMAS : " + PlayerPrefs.GetInt("Elmas");
        }
        else
        {
            Elmas_Text.text = "Elmas verisi alınamadı.";
        }

        //banner gosterimi.

        HideBanner();

        RequestBanner();
    }
예제 #13
0
    private void ContrastPurchasePlan2(int version1, int version2, string[] flowArr, string item)
    {
        var mstrs1 = TheGenericMgr.FindAllWithCustomQuery <PurchasePlanMstr2>("select m from PurchasePlanMstr2 as m where m.ReleaseNo=?", version1);
        var mstrs2 = TheGenericMgr.FindAllWithCustomQuery <PurchasePlanMstr2>("select m from PurchasePlanMstr2 as m where m.ReleaseNo=?", version2);

        if (mstrs1 == null || mstrs1.Count == 0)
        {
            this.Resultlist.InnerHtml = "";
            ShowErrorMessage(string.Format("版本号{0}不存在,请确认。", version1));
            return;
        }
        if (mstrs2 == null || mstrs2.Count == 0)
        {
            this.Resultlist.InnerHtml = "";
            ShowErrorMessage(string.Format("版本号{0}不存在,请确认。", version2));
            return;
        }

        string searchHql = " select d from  PurchasePlanDet2 as d where Type='Daily' ";

        if (!string.IsNullOrEmpty(item))
        {
            searchHql += string.Format(" and d.Item='{0}' ", item);
        }

        string flowstr = string.Empty;

        if (flowArr.Length > 0)
        {
            foreach (var flow in flowArr)
            {
                if (string.IsNullOrEmpty(flowstr))
                {
                    flowstr = string.Format(" and (d.Flow='{0}' ", flow);
                }
                else
                {
                    flowstr += string.Format(" or d.Flow='{0}' ", flow);
                }
            }
            searchHql += flowstr + ")";
        }

        var dets1         = TheGenericMgr.FindAllWithCustomQuery <PurchasePlanDet2>(searchHql + " and d.PurchasePlanId= " + mstrs1.First().Id);
        var dets2         = TheGenericMgr.FindAllWithCustomQuery <PurchasePlanDet2>(searchHql + " and d.PurchasePlanId= " + mstrs2.First().Id);
        var minStartTime1 = dets1.Min(s => s.StartTime);

        dets1 = (from d in dets1
                 where  d.StartTime < minStartTime1.AddDays(14)
                 select d).ToList();


        var minStartTime2 = dets2.Min(s => s.StartTime);

        dets2 = (from d in dets2
                 where d.StartTime < minStartTime2.AddDays(14)
                 select d).ToList();

        var allResult1 = new System.Collections.Generic.List <PurchasePlanDet2>();

        allResult1.AddRange(dets1);
        allResult1.AddRange(dets2);

        var planByFlowItems = allResult1.OrderBy(p => p.Flow).GroupBy(p => new { p.Flow, p.Item });

        var sTime = minStartTime1 < minStartTime2 ? minStartTime1 : minStartTime2;

        var eTime = minStartTime1 < minStartTime2 ? minStartTime2 : minStartTime1;

        StringBuilder str = new StringBuilder();

        str.Append("<table id='tt' runat='server' border='1' class='GV' style='width:150%;border-collapse:collapse;'>");
        str.Append("<thead><tr class='GVHeader'><th rowspan='2'>序号</th><th rowspan='2'>路线</th><th rowspan='2'>物料号</th><th rowspan='2'>物料描述</th>");

        if (sTime.AddDays(14) <= eTime)
        {
            for (int i = 0; i < 14; i++)
            {
                str.Append("<th colspan='2'>");
                str.Append(sTime.ToString("yyyy-MM-dd"));
                str.Append("</th>");
                sTime = sTime.AddDays(1);
            }
            for (int i = 0; i < 14; i++)
            {
                str.Append("<th colspan='2'>");
                str.Append(eTime.ToString("yyyy-MM-dd"));
                str.Append("</th>");
                eTime = eTime.AddDays(1);
            }
            str.Append("</tr><tr class='GVHeader'>");

            for (int i = 0; i < 28; i++)
            {
                str.Append(string.Format("<th >{0}</th><th >{1}</th>", version1, version2));
            }
        }
        else
        {
            while (sTime <= eTime.AddDays(14))
            {
                str.Append("<th colspan='2'>");
                str.Append(sTime.ToString("yyyy-MM-dd"));
                str.Append("</th>");
                sTime = sTime.AddDays(1);
            }

            str.Append("</tr><tr class='GVHeader'>");
            sTime = minStartTime1 < minStartTime2 ? minStartTime1 : minStartTime2;
            while (sTime <= eTime.AddDays(14))
            {
                str.Append(string.Format("<th >{0}</th><th >{1}</th>", version1, version2));
                sTime = sTime.AddDays(1);
            }
        }
        str.Append("</tr></thead>");
        str.Append("<tbody>");
        int l = 0;

        foreach (var planByFlowItem in planByFlowItems)
        {
            var firstPlan = planByFlowItem.First();
            l++;
            if (l % 2 == 0)
            {
                str.Append("<tr class='GVAlternatingRow'>");
            }
            else
            {
                str.Append("<tr class='GVRow'>");
            }
            str.Append("<td>");
            str.Append(l);
            str.Append("</td>");
            str.Append("<td>");
            str.Append(planByFlowItem.Key.Flow);
            str.Append("</td>");
            str.Append("<td>");
            str.Append(planByFlowItem.Key.Item);
            str.Append("</td>");
            str.Append("<td>");
            str.Append(firstPlan.ItemDesc);
            str.Append("</td>");

            sTime = minStartTime1 < minStartTime2 ? minStartTime1 : minStartTime2;

            eTime = minStartTime1 < minStartTime2 ? minStartTime2 : minStartTime1;
            if (sTime.AddDays(14) <= eTime)
            {
                for (int i = 0; i < 28; i++)
                {
                    var curenPlan1 = dets1.Where(p => p.StartTime.Date == sTime.Date && p.Item == firstPlan.Item && p.Flow == firstPlan.Flow);
                    var curenPlan2 = dets2.Where(p => p.StartTime.Date == sTime.Date && p.Item == firstPlan.Item && p.Flow == firstPlan.Flow);
                    if (i > 14)
                    {
                        curenPlan1 = dets1.Where(p => p.StartTime.Date == eTime.Date && p.Item == firstPlan.Item && p.Flow == firstPlan.Flow);
                        curenPlan2 = dets2.Where(p => p.StartTime.Date == eTime.Date && p.Item == firstPlan.Item && p.Flow == firstPlan.Flow);
                    }

                    var shipPlanDet1 = curenPlan1.Count() > 0 ? curenPlan1.First() : new PurchasePlanDet2();
                    var shipPlanDet2 = curenPlan2.Count() > 0 ? curenPlan2.First() : new PurchasePlanDet2();
                    if (shipPlanDet1.PurchaseQty == shipPlanDet2.PurchaseQty)
                    {
                        str.Append("<td>");
                        str.Append(shipPlanDet1.PurchaseQty.ToString("0.##"));
                        str.Append("</td>");
                        str.Append("<td>");
                        str.Append(shipPlanDet2.PurchaseQty.ToString("0.##"));
                        str.Append("</td>");
                    }
                    else
                    {
                        str.Append("<td style='background-color:red;'>");
                        str.Append(shipPlanDet1.PurchaseQty.ToString("0.##"));
                        str.Append("</td>");
                        str.Append("<td style='background-color:red;'>");
                        str.Append(shipPlanDet2.PurchaseQty.ToString("0.##"));
                        str.Append("</td>");
                    }
                    if (i <= 14)
                    {
                        sTime = sTime.AddDays(1);
                    }
                    else
                    {
                        eTime = eTime.AddDays(1);
                    }
                }
            }
            else
            {
                while (sTime <= eTime.AddDays(14))
                {
                    var curenPlan1   = dets1.Where(p => p.StartTime.Date == sTime.Date && p.Item == firstPlan.Item && p.Flow == firstPlan.Flow);
                    var curenPlan2   = dets2.Where(p => p.StartTime.Date == sTime.Date && p.Item == firstPlan.Item && p.Flow == firstPlan.Flow);
                    var shipPlanDet1 = curenPlan1.Count() > 0 ? curenPlan1.First() : new PurchasePlanDet2();
                    var shipPlanDet2 = curenPlan2.Count() > 0 ? curenPlan2.First() : new PurchasePlanDet2();
                    if (shipPlanDet1.PurchaseQty == shipPlanDet2.PurchaseQty)
                    {
                        str.Append("<td>");
                        str.Append(shipPlanDet1.PurchaseQty.ToString("0.##"));
                        str.Append("</td>");
                        str.Append("<td>");
                        str.Append(shipPlanDet2.PurchaseQty.ToString("0.##"));
                        str.Append("</td>");
                    }
                    else
                    {
                        str.Append("<td style='background-color:red;'>");
                        str.Append(shipPlanDet1.PurchaseQty.ToString("0.##"));
                        str.Append("</td>");
                        str.Append("<td style='background-color:red;'>");
                        str.Append(shipPlanDet2.PurchaseQty.ToString("0.##"));
                        str.Append("</td>");
                    }
                    sTime = sTime.AddDays(1);
                }
            }
            str.Append("</tr>");
        }
        str.Append("</tbody></table>");
        this.Resultlist.InnerHtml = str.ToString();
    }
예제 #14
0
    public override void _Ready()
    {
        // Get nodes
        _joystick     = GetParent().GetNode("CanvasLayer/Joystick").GetChild <JoystickButton>(0);
        _playerSprite = GetNode <Sprite>("PlayerSprite");
        _inventory    = GetParent().GetNode <Inventory>("CanvasLayer/Inventory");
        _debugOverlay = GetParent().GetNode <DebugOverlay>("CanvasLayer/DebugOverlay");
        _audioPlayer  = GetNode <AudioStreamPlayer>("AudioPlayer");
        _itemTooltip  = (ItemTooltip)GD.Load <PackedScene>("res://ItemTooltip.tscn").Instance();
        GetParent().GetNode("CanvasLayer").AddChild(_itemTooltip);
        _gathering      = GetParent <Gathering>();
        _footstepPlayer = GetNode <AudioStreamPlayer>("FootstepPlayer");
        _miscPlayer     = GetNode <AudioStreamPlayer>("MiscPlayer");

        // Load assets
        _runForwards        = GD.Load <Texture>("res://textures/Player_run_forwards.png");
        _runBackwards       = GD.Load <Texture>("res://textures/Player_run_backwards.png");
        _runRight           = GD.Load <Texture>("res://textures/Player_run_right.png");
        _runForwardsNormal  = GD.Load <Texture>("res://textures/normal/Player_run_forwards_n.png");
        _runBackwardsNormal = GD.Load <Texture>("res://textures/normal/Player_run_backwards_n.png");
        _runRightNormal     = GD.Load <Texture>("res://textures/normal/Player_run_right_n.png");
        _forestSong         = GD.Load <AudioStreamOGGVorbis>("res://audio/music/enchanted_forest_longer.ogg");

        // Load footstep sounds into an array
        for (int i = 0; i < _footstepSounds.Length; i++)
        {
            string terrainType = string.Empty;
            int    indexOffset = 0;
            if (i < 4)
            {
                terrainType = "dirt";
            }
            else if (i >= 4 && i < 8)
            {
                terrainType = "grass";
                indexOffset = 4;
            }
            else if (i >= 8)
            {
                terrainType = "stone";
                indexOffset = 8;
            }

            _footstepSounds[i] = GD.Load <AudioStream>("res://audio/sfx/footstep/" + terrainType + "_" + (i - indexOffset + 1).ToString() + ".wav");
        }

        // Load magic pop sounds
        for (int i = 0; i < _magicPopSounds.Length; i++)
        {
            _magicPopSounds[i] = GD.Load <AudioStream>("res://audio/sfx/magic/magic_pop_open_0" + (i + 1).ToString() + ".wav");
        }

        // Other setup
        Timer spriteAnimTimer = GetNode <Timer>("SpriteAnimateTimer");

        spriteAnimTimer.WaitTime = 1f / _SpriteFPS;
        spriteAnimTimer.Connect("timeout", this, nameof(AnimateSprite));

        _invItems.AddRange(new Item.ItemStack[] { new Item.ItemStack(Items.BRIMSTONE, 1), new Item.ItemStack(Items.FLY_AGARIC, 3), new Item.ItemStack(Items.ELDERBERRIES, 5), new Item.ItemStack(Items.AQUA_FORTIS, 1), new Item.ItemStack(Items.HOLLY_BERRIES, 3), new Item.ItemStack(Items.AQUA_VITAE, 1) });
        GetParent().GetNode <Inventory>("CanvasLayer/Inventory").UpdateSlots(_invItems);

        _debugOverlay.TrackProperty(nameof(_inventory.Scale), _inventory, "Inventory Scale");
        _debugOverlay.TrackFunc(nameof(FloorPositionString), this, "Player Position");

        _inventory.Connect("ItemSlotSelected", this, nameof(InventorySlotSelected));

        _audioPlayer.Stream   = _forestSong;
        _audioPlayer.VolumeDb = -25f;
        _audioPlayer.Play();
    }
예제 #15
0
    private void OnGUI()
    {
        #if UNITY_EDITOR || DEVELOPMENT_BUILD
        if (Root.simulateReleaseMode)
        {
            return;
        }
        #endif

        if (m_server == "")
        {
            m_server = Root.defaultServer.ToString();
        }

        var vv = viewResolution;

        m_showNetworkPanel = GUI.Toggle(new Rect(vv.x * 0.5f - 200, 0, 100, 60), m_showNetworkPanel, "Network Panel", GUI.skin.button);
        if (m_showNetworkPanel)
        {
            m_showParsePanel = false;
        }
        m_showParsePanel = GUI.Toggle(new Rect(vv.x * 0.5f - 300, 0, 100, 60), m_showParsePanel, "Parse Panel", GUI.skin.button);
        if (m_showParsePanel)
        {
            m_showNetworkPanel = false;
        }

        if (!Session.instance || !m_showNetworkPanel && !m_showParsePanel)
        {
            return;
        }
        var receiver = Session.instance.receiver;

        var mb = Module_Battle.instance;
        if (mb.teamMode)
        {
            if (!mb.isPvP && !Module_Team.instance.useGameSession)
            {
                receiver = Module_Team.instance.receiver;
            }
            else if (mb.isPvP && !Module_PVP.instance.useGameSession)
            {
                receiver = Module_PVP.instance.receiver;
            }
        }

        if (receiver == null || receiver.destroyed)
        {
            var ns = GUI.TextField(new Rect(300, 100, 100, 60), m_server);
            if (ns != m_server)
            {
                m_server = ns;
                Session.instance?.UpdateServer(Util.Parse <int>(m_server));
            }
            return;
        }

        GUI.Label(new Rect(0, 0, vv.x, 400), "", GUI.skin.box);

        var w = vv.x * 0.001f;
        System.Collections.Generic.List <int> delays = null;
        var _delays = m_showNetworkPanel ? receiver.networkDelay : receiver.parseDelay;
        lock (_delays)
        {
            delays = new System.Collections.Generic.List <int>(_delays.Count);
            delays.AddRange(_delays);
        }
        var max = m_showParsePanel ? receiver.maxParse : receiver.maxNet;
        for (var i = 0; i < delays.Count; ++i)
        {
            var diff = delays[i];
            var h    = diff / max * 370.0f;

            if (h > 370)
            {
                h = 370;
            }

            var c = GUI.color;
            GUI.color = m_showNetworkPanel ? diff < 55 ? Color.green : diff < 105 ? Color.yellow : diff < 505 ? Color.cyan : Color.red : diff > 5 ? Color.yellow : Color.green;
            GUI.DrawTexture(new Rect(w * i, 400 - h, w, h), Texture2D.whiteTexture, ScaleMode.StretchToFill);

            diff -= 5;
            if (diff >= (m_showNetworkPanel ? 50 : 1))
            {
                GUI.Label(new Rect(w * i, 400 - h, 50, 20), diff.ToString());
            }

            GUI.color = c;
        }

        if (m_showNetworkPanel)
        {
            receiver.pauseNetStatistic = GUI.Toggle(new Rect(100, 400, 100, 60), receiver.pauseNetStatistic, "Pause", GUI.skin.button);
        }
        else
        {
            receiver.pauseParseStatistic = GUI.Toggle(new Rect(100, 400, 100, 60), receiver.pauseParseStatistic, "Pause", GUI.skin.button);
        }

        if (GUI.Button(new Rect(200, 400, 100, 60), "Clear"))
        {
            receiver.ClearStat(m_showNetworkPanel ? 0 : 1);
        }

        var s = GUI.TextField(new Rect(300, 400, 100, 60), m_server);
        if (s != m_server)
        {
            m_server = s;
            Session.instance?.UpdateServer(Util.Parse <int>(m_server));
        }
    }
예제 #16
0
    private void UpdateGridSize()
    {
        var hasChanged =
            minColumnValue != _lastMinColumnValue ||
            maxColumnValue != _lastMaxColumnValue ||
            minRowValue != _lastMinRowValue ||
            maxRowValue != _lastMaxRowValue;

        if (hasChanged)
        {
            var width  = GetSize(minColumnValue, maxColumnValue);
            var height = GetSize(minRowValue, maxRowValue);

            _border.transform.localScale = new Vector3(width, 1, height);

            foreach (Transform c in _columns.transform)
            {
                Destroy(c.gameObject);
            }

            foreach (Transform r in _rows.transform)
            {
                Destroy(r.gameObject);
            }

            foreach (Transform t in _powerSources.transform)
            {
                Destroy(t.gameObject);
            }

            foreach (Transform t in _texts.transform)
            {
                Destroy(t.gameObject);
            }


            var powerSourcesToAddA = new System.Collections.Generic.List <Vector3>();
            var powerSourcesToAddB = new System.Collections.Generic.List <Vector3>();
            var powerSourcesToAddC = new System.Collections.Generic.List <Vector3>();
            var powerSourcesToAddD = new System.Collections.Generic.List <Vector3>();

            var text = new System.Collections.Generic.List <TextWithPosition>();

            var x = 0;
            for (int i = minColumnValue; i <= maxColumnValue; i++)
            {
                var col = Instantiate(_rowColumnProto) as GameObject;
                col.transform.localScale    = new Vector3(i, 1, height);
                col.transform.localPosition = new Vector3(x, 0, 0);
                col.transform.parent        = _columns.transform;
                col.SetActive(true);

                col.GetComponentInChildren <MeshRenderer>().material.color = GetPowerSourceColor(i);

                text.Add(new TextWithPosition(col.transform.localPosition + new Vector3(i * 0.5f, 0, 0 - 1f), i + ""));
                text.Add(new TextWithPosition(col.transform.localPosition + new Vector3(i * 0.5f, 0, height + 1f), i + ""));

                powerSourcesToAddA.Add(col.transform.localPosition + new Vector3(i, 0, 0));
                powerSourcesToAddB.Add(col.transform.localPosition + new Vector3(i, 0, height));

                x += i;
            }

            var y = 0;
            for (int j = minRowValue; j <= maxRowValue; j++)
            {
                var r = Instantiate(_rowColumnProto) as GameObject;
                r.transform.localScale    = new Vector3(width, 1, j);
                r.transform.localPosition = new Vector3(0, 0, y);
                r.transform.parent        = _rows.transform;
                r.SetActive(true);

                r.GetComponentInChildren <MeshRenderer>().material.color = GetPowerSourceColor(j);


                text.Add(new TextWithPosition(r.transform.localPosition + new Vector3(0 - 1f, 0, j * 0.5f), j + ""));
                text.Add(new TextWithPosition(r.transform.localPosition + new Vector3(width + 1f, 0, j * 0.5f), j + ""));

                powerSourcesToAddC.Add(r.transform.localPosition + new Vector3(0, 0, j));
                powerSourcesToAddD.Add(r.transform.localPosition + new Vector3(width, 0, j));

                y += j;
            }

            powerSourcesToAddA.Reverse();
            powerSourcesToAddA.Add(new Vector3());
            powerSourcesToAddA.AddRange(powerSourcesToAddC);

            //powerSourcesToAddA.AddRange(powerSourcesToAddB);
            //powerSourcesToAddA.Add(new Vector3(width, 0, height));
            //powerSourcesToAddD.Reverse();
            //powerSourcesToAddA.AddRange(powerSourcesToAddD);

            var iPS = 0;
            foreach (var pSource in powerSourcesToAddA)
            {
                //if (iPS % 2 == 0)
                //{
                CreatePowerSource(pSource, GetPowerSourceColor(iPS));
                //}

                iPS++;
            }

            powerSourcesToAddA.Clear();
            powerSourcesToAddB.Clear();
            powerSourcesToAddC.Clear();
            powerSourcesToAddD.Clear();


            // Text
            foreach (var t in text)
            {
                CreateText(t);
            }
        }

        _lastMinColumnValue = minColumnValue;
        _lastMaxColumnValue = maxColumnValue;
        _lastMinRowValue    = minRowValue;
        _lastMaxRowValue    = maxRowValue;
    }