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); }
/// <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()); } }
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"); }
/// <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); }
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()); }
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()); }
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) { } } } }
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İ"; } }
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 }
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(); }
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(); }
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(); }
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)); } }
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; }