示例#1
0
    static void CreateObjFiles(Movement mov)
    {
        var         itemsT      = NetLoader.database.GetTable <Item>("objects");
        string      textToWrite = "";
        List <Item> items       = new List <Item>();

        foreach (var s in itemsT.FindAll())
        {
            items.Add(s.Element);
            items[items.Count - 1].filename = (++counter).ToString() + ".png";
            textToWrite += items[items.Count - 1].filename + ";" + items[items.Count - 1].name + ";" + items[items.Count - 1].description + ";" + items[items.Count - 1].type + ";" + items[items.Count - 1].z + ";" + items[items.Count - 1].y + ";" + items[items.Count - 1].x + '&';
        }
        NetLoader.CreateSWFile(NetLoader.GetFilePath("objlist.txt"), textToWrite);
        counter = 0;
        foreach (var i in items)
        {
            Courutiner.link     = i.link;
            Courutiner.download = true;
            while (NetLoader.bytessa == null)
            {
            }
            var tex = NetLoader.texture;
            NetLoader.texture = null;
            NetLoader.CreateFileFile(NetLoader.GetFilePath(i.filename), NetLoader.bytessa);
            NetLoader.bytessa = null;
        }
    }
示例#2
0
    static void forThread()
    {
        string per = GetFilePath("s_a.p12");

        if (!File.Exists(per))
        {
            CopyFileFromStreamingAssetsCreateFile("s_a.p12");
        }
        string secretAccountGmail = NetLoader.ReadFromFile(@NetLoader.GetFilePath("secretAccountData.txt")).Split(';')[1];

        databaseClient = new DatabaseClient(secretAccountGmail, File.ReadAllBytes(per));
        database       = databaseClient.GetDatabase("Proikt");
        var Table = database.GetTable <Version>("data");
        var all   = Table.FindAll();

        vers = new List <Version>();
        foreach (var i in all)
        {
            vers.Add(i.Element);
        }
        foreach (var i in vers)
        {
            i.init(mov);
        }
        isReady = true;
    }
示例#3
0
 void Start()
 {
     cam = GetComponent <Camera>();
     transform.position = new Vector3(cam.transform.position.x, cam.transform.position.y, 5 * etaz - 5);
     if (File.Exists(NetLoader.GetFilePath("settings.txt")))
     {
         Init();
     }
 }
 // Update is called once per frame
 void Update()
 {
     if (download)
     {
         StartCoroutine(NetLoader.GetTexture(link));
         download = false;
     }
     else if (getDestroyed)
     {
         Destroy(this);
     }
 }
示例#5
0
    static void CreateFloorFiles()
    {
        var fls = int.Parse(lastfloor);

        for (int i = 0; i <= fls; ++i)
        {
            var    table = NetLoader.database.GetTable <OneYLine>(i.ToString());
            string etaz  = "";
            foreach (var s in table.FindAll())
            {
                etaz += s.Element.str + '\n';
            }
            NetLoader.CreateSWFile(NetLoader.GetFilePath(i.ToString() + ".txt"), etaz);
        }
    }
示例#6
0
 public void init(Movement mov)
 {
     if (subject == "map version")
     {
         mapver = version;
     }
     else if (subject == "objects version")
     {
         objver = version;
     }
     else if (subject == "lastfloor")
     {
         lastfloor = version;
     }
     else if (File.Exists(NetLoader.GetFilePath("settings.txt")))
     {
         //Найти старые версии и, если не совпадают, сделать соотв. действия.
         string s = NetLoader.ReadFromFile(@NetLoader.GetFilePath("settings.txt"));
         var    ss = s.Split(';');
         string olmapver = ss[0], olobjver = ss[1];
         bool   was = false;
         if (olmapver != mapver)
         {
             CreateFloorFiles();
             was = true;
         }
         if (olobjver != objver)
         {
             CreateObjFiles(mov);
             was = true;
         }
         NetLoader.CreateSWFile(NetLoader.GetFilePath("settings.txt"), (mapver + ';' + objver + ';' + lastfloor));
         if (was)
         {
             mov.canIwork = 1;
         }
     }
     else
     {
         //Сделать соотв. действия.в
         CreateFloorFiles();
         CreateObjFiles(mov);
         NetLoader.CreateSWFile(NetLoader.GetFilePath("settings.txt"), (mapver + ';' + objver + ';' + lastfloor));
         mov.canIwork = 1;
     }
 }
示例#7
0
    public void init(GameObject parent)
    {
        sprite = GameObject.Instantiate(parent);
        Movement.toDelete.Add(sprite);
        byte[]    byteArray     = File.ReadAllBytes(NetLoader.GetFilePath(filename));
        Texture2D sampleTexture = new Texture2D(2, 2);

        sampleTexture.LoadImage(byteArray);
        sprite.GetComponent <SpriteRenderer>().sprite = SpriteScript.ToSprite(sampleTexture);
        string[] zer = z.Split('.'), yer = y.Split('.'), xer = x.Split('.');
        int      zs = int.Parse(zer[0]), ys = int.Parse(yer[0]), xs = int.Parse(xer[0]);
        Tile     t;

        if (zs < 0 || zs > Movement.Tiles.Length || ys < 0 || ys > Movement.Tiles[zs].Length || xs <0 || xs> Movement.Tiles[zs][ys].Length || (t = Movement.Tiles[int.Parse(zer[0])][int.Parse(yer[0])][int.Parse(xer[0])]) == null)
        {
            Debug.Log("nope");
            GameObject.Destroy(sprite);
            return;
        }
        sprite.transform.position = new Vector3(t.xr + int.Parse(xer[1]) / 10 * Tile.TileSize, t.yr + int.Parse(yer[1]) / 10 * Tile.TileSize, t.zr - 0.4f);
        sprite.GetComponent <SpriteScript>().item = this;
    }
示例#8
0
    }//https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png

    void Init()
    {
        if (toDelete != null)
        {
            foreach (var a in toDelete)
            {
                Destroy(a);
            }
        }
        var pos = transform.position;

        toDelete                  = new List <GameObject>();
        transform.position        = new Vector3(cam.transform.position.x, cam.transform.position.y, 5 * etaz - 5);
        tile.transform.localScale = new Vector3(Tile.TileSize, Tile.TileSize, Tile.TileSize);
        string s  = NetLoader.ReadFromFile(@NetLoader.GetFilePath("settings.txt"));
        var    ss = s.Split(';');

        lastfloor = int.Parse(ss[2]);
        plan      = new char[lastfloor + 1][][];

        Tiles = new Tile[plan.Length][][];
        for (int i = firstfloor; i <= lastfloor; ++i)
        {
            var      d  = NetLoader.ReadFromFile(@NetLoader.GetFilePath(i.ToString() + ".txt"));
            string[] tm = d.Split('\n');
            plan[i] = new char[tm.Length][];
            for (int jpeg = 0; jpeg < tm.Length; jpeg++)
            {
                plan[i][jpeg] = tm[jpeg].ToCharArray();
            }
            Tiles[i] = new Tile[plan[i].Length][];
        }
        for (int z = 0; z < plan.Length; ++z)
        {
            Tiles[z] = new Tile[plan[z].Length][];
            for (int y = 0; y < plan[z].Length; ++y)
            {
                Tiles[z][y] = new Tile[plan[z][y].Length];
                for (int x = 0; x < Tiles[z][y].Length; ++x)
                {
                    if (plan[z][y][x] != '*' && plan[z][y][x] != 'u' && plan[z][y][x] != 'd')
                    {
                        Tiles[z][y][x] = null;
                    }
                    else
                    {
                        GameObject obj = Instantiate(tile);
                        toDelete.Add(obj);
                        float tx = transform.position.x - plan[z][y].Length / 2f * Tile.TileSize + x * Tile.TileSize, ty = transform.position.y + plan[z].Length / 2 * Tile.TileSize - y * Tile.TileSize, tz = 5 * z - 4;
                        obj.transform.position = new Vector3(tx, ty, tz);
                        Tiles[z][y][x]         = new Tile(tx, ty, tz, plan[z][y][x], obj, z, y, x);
                        if (plan[z][y][x] == 'u')
                        {
                            plan[z + 1][y][x] = 'd';
                        }
                    }
                }
            }
        }
        string      objlist = NetLoader.ReadFromFile(@NetLoader.GetFilePath("objlist.txt"));
        List <Item> items   = new List <Item>();

        foreach (var objd in objlist.Split('&'))
        {
            if (objd.Length < 6)
            {
                continue;
            }
            var arr  = objd.Split(';');
            var item = new Item();
            item.filename    = arr[0];
            item.name        = arr[1];
            item.description = arr[2];
            item.type        = arr[3];
            item.z           = arr[4];
            item.y           = arr[5];
            item.x           = arr[6];
            item.init(go);
        }
        transform.position = pos;
        canIwork           = 2;
    }