Location









How do I use Location
Below are practical examples compiled from projects for learning and reference purposes

Featured Snippets


File name: PhotonEditor.cs Copy
543     protected virtual void OnGuiMainWizard()
544     {
545         GUILayout.BeginHorizontal();
546         GUILayout.FlexibleSpace();
547         GUILayout.Label(WizardIcon);
548         GUILayout.FlexibleSpace();
549         GUILayout.EndHorizontal();
550
551         EditorGUILayout.Separator();
552
553         GUILayout.Label(CurrentLang.PUNWizardLabel, EditorStyles.boldLabel);
554         if (isPunPlus)
555         {
556             GUILayout.Label(CurrentLang.MobilePunPlusExportNoteLabel);
557         }
558         else if (!InternalEditorUtility.HasAdvancedLicenseOnBuildTarget(BuildTarget.Android) || !InternalEditorUtility.HasAdvancedLicenseOnBuildTarget(BuildTarget.iOS))
559         {
560             GUILayout.Label(CurrentLang.MobileExportNoteLabel);
561         }
562         EditorGUILayout.Separator();
563
564
565         // settings button
566         GUILayout.BeginHorizontal();
567         GUILayout.Label(CurrentLang.SettingsButton, EditorStyles.boldLabel, GUILayout.Width(100));
568         if (GUILayout.Button(new GUIContent(CurrentLang.SetupButton, CurrentLang.SetupServerCloudLabel)))
569         {
570             this.InitPhotonSetupWindow();
571         }
572
573         GUILayout.EndHorizontal();
574         EditorGUILayout.Separator();
575
576
577         // find / select settings asset
578         GUILayout.BeginHorizontal();
579         GUILayout.Label(CurrentLang.SettingsFileLabel, EditorStyles.boldLabel, GUILayout.Width(100));
580         if (GUILayout.Button(new GUIContent(CurrentLang.LocateSettingsButton, CurrentLang.SettingsHighlightLabel)))
581         {
582             EditorGUIUtility.PingObject(PhotonEditor.Current);
583         }
584
585         GUILayout.EndHorizontal();
586
587
588         GUILayout.FlexibleSpace();
589
590         // converter
591         GUILayout.BeginHorizontal();
592         GUILayout.Label(CurrentLang.ConverterLabel, EditorStyles.boldLabel, GUILayout.Width(100));
593         if (GUILayout.Button(new GUIContent(CurrentLang.StartButton, CurrentLang.UNtoPUNLabel)))
594         {
595             PhotonConverter.RunConversion();
596         }
597
598         GUILayout.EndHorizontal();
599         EditorGUILayout.Separator();
600
601
602         // documentation
603         GUILayout.BeginHorizontal();
604         GUILayout.Label(CurrentLang.DocumentationLabel, EditorStyles.boldLabel, GUILayout.Width(100));
605         GUILayout.BeginVertical();
606         if (GUILayout.Button(new GUIContent(CurrentLang.OpenPDFText, CurrentLang.OpenPDFTooltip)))
607         {
608             EditorUtility.OpenWithDefaultApp(DocumentationLocation);
609         }
610
611         if (GUILayout.Button(new GUIContent(CurrentLang.OpenDevNetText, CurrentLang.OpenDevNetTooltip)))
612         {
613             EditorUtility.OpenWithDefaultApp(UrlDevNet);
614         }
615
616         if (GUILayout.Button(new GUIContent(CurrentLang.OpenCloudDashboardText, CurrentLang.OpenCloudDashboardTooltip)))
617         {
618             EditorUtility.OpenWithDefaultApp(UrlCloudDashboard + Uri.EscapeUriString(this.emailAddress));
619         }
620
621         if (GUILayout.Button(new GUIContent(CurrentLang.OpenForumText, CurrentLang.OpenForumTooltip)))
622         {
623             EditorUtility.OpenWithDefaultApp(UrlForum);
624         }
625
626         GUILayout.EndVertical();
627         GUILayout.EndHorizontal();
628     }
File name: GameControllerScript.cs Copy
248  private void adjustConnectors() {
249   int j, k, axis;
250   ConnectorScript connectorScript;
251   bool show;
252// for (j = 0; j <= 2; j++) {
253// for (k = 0; k <= 2; k++) {
254// for (axis = 0; axis <= 2; axis++) {
255// connectorScript = this.connectors[j,k,axis].gameObject.GetComponent("ConnectorScript") as ConnectorScript;
256// connectorScript.show = true;
257//
258// if (this.options.board_type == "Hollow Cube") {
259// if(j == 1 & k == 1) {
260// connectorScript.show = false;
261// }
262// }
263//
264// if (this.options.board_type == "Box Outline") { //Box Outline
265// if(j == 1 || k == 1) {
266// connectorScript.show = false;
267// }
268// }
269//
270// if (this.options.board_type == "Four Walls") {
271// //remove center connector on the x axis
272// if(axis == 0 && j == 1 & k == 1) {
273// connectorScript.show = false;
274// }
275// //remove 3 center connectors on the y axis
276// if(axis == 1 && j == 1) {
277// connectorScript.show = false;
278// }
279// //remove 3 center connectors on the z axis
280// if(axis == 2 && k == 1) {
281// connectorScript.show = false;
282// }
283// }
284//
285//
286// if (this.options.board_type == "No Corners") {
287// if(j != 1 && k != 1) {
288// connectorScript.show = false;
289// }
290// }
291// }}}
292  }
293
294  public bool doMove (string axis, int direction) {
295   int loop1, loop2; //looping variables
296   int x, y, z; //block location variables
297   int numMoves = 0; //number of moves to make
298   int scoreChange = 0;
299   bool blockCollision = false;
300   bool blockCollisionSound = false;
301   Transform blockA, blockB, blockC; //variables for holding the three blocks in a row
302   IDictionary newNumbers = new Dictionary(); //new numbers for blocks a,b & c to have
303   IDictionary shiftBy = new Dictionary(); //distance for blocks a,b & c to shift
304   int[,,] numbersAfterMove = new int[3,3,3];
305;
306   if (PlayerPrefs.GetString ("game_status") != "playing") return false;
307   if (this.gameView != "game") return false;
308
309   //loop through each of the 9 rows to be calculated
310   for(loop1 = 0; loop1 <=2; loop1++) {
311    for(loop2 = 0; loop2 <=2; loop2++) {
312     if (axis == "x") {
313      y = loop1;
314      z = loop2;
315      if (direction == 1) {
316       blockA= this.blocks[0,y,z];
317       blockB= this.blocks[1,y,z];
318       blockC= this.blocks[2,y,z];
319      }
320      else {
321       blockA= this.blocks[2,y,z];
322       blockB= this.blocks[1,y,z];
323       blockC= this.blocks[0,y,z];
324      }
325     }
326     else if (axis == "y") {
327      x = loop1;
328      z = loop2;
329      if (direction == 1) {
330       blockA= this.blocks[x,0,z];
331       blockB= this.blocks[x,1,z];
332       blockC= this.blocks[x,2,z];
333      }
334      else {
335       blockA= this.blocks[x,2,z];
336       blockB= this.blocks[x,1,z];
337       blockC= this.blocks[x,0,z];
338      }
339     }
340     else {
341      x = loop1;
342      y = loop2;
343      if (direction == 1) {
344       blockA= this.blocks[x,y,0];
345       blockB= this.blocks[x,y,1];
346       blockC= this.blocks[x,y,2];
347      }
348      else {
349       blockA= this.blocks[x,y,2];
350       blockB= this.blocks[x,y,1];
351       blockC= this.blocks[x,y,0];
352      }
353     }
354     calculateRowChanges(this.getBlockNumber(blockA), this.getBlockNumber(blockB), this.getBlockNumber(blockC), ref scoreChange, ref newNumbers, ref shiftBy, ref blockCollision);
355
356     blockA.GetComponent().move (axis, shiftBy["a"] * direction, this.scale, newNumbers["a"]);
357     blockB.GetComponent().move (axis, shiftBy["b"] * direction, this.scale, newNumbers["b"]);
358     blockC.GetComponent().move (axis, shiftBy["c"] * direction, this.scale, newNumbers["c"]);
359
360     numMoves = numMoves + shiftBy["a"] + shiftBy["b"] + shiftBy["c"];
361     if (blockCollision) blockCollisionSound = true;
362
363     int newHighestBlock = 0;
364     if(newNumbers["a"] > PlayerPrefs.GetInt ("game_highest_block")) newHighestBlock = newNumbers["a"];
365     if(newNumbers["b"] > PlayerPrefs.GetInt ("game_highest_block")) newHighestBlock = newNumbers["b"];
366     if(newNumbers["c"] > PlayerPrefs.GetInt ("game_highest_block")) newHighestBlock = newNumbers["c"];
367
368     if (newHighestBlock > 0) {
369      PlayerPrefs.SetInt ("game_highest_block", newHighestBlock);
370      if (newHighestBlock == 2048) PlayerPrefs.SetString("game_status","game_won");
371      PlayerPrefs.Save ();
372      this.timer.SetNextBlockTarget(newHighestBlock);
373      if (newHighestBlock > this.getHighestBlock()) this.SetHighestBlock(newHighestBlock);
374     }
375
376
377
378
379     PlayerPrefs.Save ();
380
381     //save the numbers after the move for redo
382     numbersAfterMove[blockA.GetComponent().x,
383                      blockA.GetComponent().y,
384                      blockA.GetComponent().z] = newNumbers["a"];
385
386     numbersAfterMove[blockB.GetComponent().x,
387                      blockB.GetComponent().y,
388                      blockB.GetComponent().z] = newNumbers["b"];
389
390     numbersAfterMove[blockC.GetComponent().x,
391                      blockC.GetComponent().y,
392                      blockC.GetComponent().z] = newNumbers["c"];
393    }
394   }
395
396   if(blockCollisionSound && this.options.play_sounds) {
397    this.collideAudioSource.PlayDelayed(this.moveDuration);
398   }
399
400   if (numMoves > 0) {
401    this.moveStartTime = Time.time;
402    this.setScore (this.score + scoreChange);
403    if(this.options.play_sounds) {
404     if (axis == "x") this.swipeAudioSource.PlayOneShot(swipeSoundX);
405     if (axis == "y") this.swipeAudioSource.PlayOneShot(swipeSoundY);
406     if (axis == "z") this.swipeAudioSource.PlayOneShot(swipeSoundZ);
407    }
408    return true;
409   }
410   else {
411    return false;
412   }
413  }
414
415  //Determine the possible successful combines between 3 blockNumbers (a,b,c) being pushed toward c
416  void calculateRowChanges (int a, int b, int c, ref int scoreChange, ref IDictionary newNumbers, ref IDictionary shiftBy, ref bool blockCollision ) {
417   blockCollision = false;
418
419   //first check if we have any -2 values which signify that blocks cant merge along this connector
420   if(a == -2 || b == -2 || c == -2) {
421    newNumbers["a"] = a;
422    newNumbers["b"] = b;
423    newNumbers["c"] = c;
424    shiftBy["a"] = 0;
425    shiftBy["b"] = 0;
426    shiftBy["c"] = 0;
427   }
428   else {
429   //figure out if any of the three merges occurred
430    shiftBy ["c"] = 0;
431    if (c > -1 && c == b) { //b and c merged
432     scoreChange = scoreChange + c*2;
433     blockCollision = true;
434     newNumbers["c"] = c*2;
435     newNumbers["b"] = a;
436     newNumbers["a"] = -1;
437     shiftBy["b"] = 1;
438     if(a > -1) {
439      shiftBy["a"] = 1;
440     }
441     else if (a == -1) {
442      shiftBy["a"] = 0;
443     }
444    }
445    else if (b > -1 && a == b) { //a and b merged
446     scoreChange = scoreChange + a*2;
447     blockCollision = true;
448     if(c == -1) {
449      newNumbers["c"] = b*2;
450      newNumbers["b"] = -1;
451      newNumbers["a"] = -1;
452      shiftBy["b"] = 1;
453      shiftBy["a"] = 2;
454     }
455     else {
456      newNumbers["c"] = c;
457      newNumbers["b"] = b*2;
458      newNumbers["a"] = -1;
459      shiftBy["b"] = 0;
460      shiftBy["a"] = 1;
461     }
462    }
463    else if (c > -1 && a == c && b == -1) { //a and c merged
464     scoreChange = scoreChange + c*2;
465     blockCollision = true;
466     newNumbers["c"] = c*2;
467     newNumbers["b"] = -1;
468     newNumbers["a"] = -1;
469     shiftBy["b"] = 0;
470     shiftBy["a"] = 2;
471    } //end of merges block
472    else { //no merges occurred
473     if(c > -1) { //last column has number
474      newNumbers["c"] = c;
475      if(b > -1) { //second column has number
476       newNumbers["b"] = b;
477       newNumbers["a"] = a;
478       shiftBy["b"] = 0;
479       shiftBy["a"] = 0;
480      }
481      else if(b == -1) {//second column empty
482       newNumbers["b"] = a;
483       newNumbers["a"] = -1;
484       shiftBy["b"] = 0;
485       if (a == -1) {
486        shiftBy["a"] = 0;
487       }
488       else {
489        shiftBy["a"] = 1;
490       }
491      }
492
493     } //end of block for value in c column
494     else if (c == -1) { //first column empty
495      if(b > -1) { //second column has number
496       newNumbers["c"] = b;
497       newNumbers["b"] = a;
498       newNumbers["a"] = -1;
499       shiftBy["b"] = 1;
500       if(a > -1) {
501        shiftBy["a"] = 1;
502       }
503       else {
504        shiftBy["a"] = 0;
505       }
506
507      }
508      else if(b == -1) { //second column empty and first column empty
509       newNumbers["c"] = a;
510       newNumbers["b"] = -1;
511       newNumbers["a"] = -1;
512       shiftBy["b"] = 0;
513       if (a == -1) {
514        shiftBy["a"] = 0;
515       }
516       else {
517        shiftBy["a"] = 2;
518       }
519      }
520     }
521    } //end of no merges block
522   } //end of check for -2;
523  }
524
525
526  void Update (){
527   int x =0, y=0, z=0, newNumber=0;
528   if(GameControllerScript.performRestart) {
529    this.restart ();
530    GameControllerScript.performRestart = false;
531   }
532   if(moveStartTime >= 0) {
533    if(Time.time - this.moveStartTime > this.moveDuration + 0.05F) {
534     this.fillRandomBlock(ref x, ref y, ref z, ref newNumber);
535     this.saveHistory ();
536     this.moveStartTime = -1F;
537     if(this.getEmptyBlocks().Count == 0) {
538      if(this.CheckGameOver()) {
539       PlayerPrefs.SetString ("game_status", "game_over");
540       PlayerPrefs.Save();
541      }
542     }
543    }
544   }
545   else {
546    bool moved;
547    if (Input.GetKeyUp("right")) moved = this.doMove ("x", 1);
548    if (Input.GetKeyUp("left")) moved = this.doMove ("x", -1);
549    if (Input.GetKeyUp("up")) moved = this.doMove ("y", 1);
550    if (Input.GetKeyUp("down")) moved = this.doMove ("y", -1);
551    if (Input.GetKeyUp("a")) moved = this.doMove ("z", 1);
552    if (Input.GetKeyUp("z")) moved = this.doMove ("z", -1);
553   }
554   this.adjustConnectors();
555   if (Input.GetKey(KeyCode.Escape))
556   {
557    Application.Quit();
558   }
559  }
560
561  void FixedUpdate () {
562  }
563
564  void setScore(int score) {
565   this.score = score;
566   PlayerPrefs.SetInt ("score", score);
567
568   //handle setting high score
569   if(this.score > this.GetHighScore()) {
570    this.SetHighScore(this.score);
571   }
572  }
573
574  public void restart() {
575   int[,,] positions = new int[3, 3, 3];
576   int x=0, y=0, z=0, newNumber=0;
577   this.gameLight.intensity = this.lightIntensity;
578
579   for (x = 0; x <= 2; x++) {
580    for (y = 0; y <= 2; y++) {
581     for (z = 0; z <= 2; z++) {
582      this.setBlockNumber(this.blocks[x,y,z], this.getInitialBlockNumber(x,y,z));
583      positions[x,y,z] = -1;
584     }
585    }
586   }
587
588   this.adjustConnectors ();
589
590   PlayerPrefs.SetString ("redo_moves2","");
591   PlayerPrefs.SetString ("redo_moves1","");
592   PlayerPrefs.SetString ("redo_moves0","");
593   PlayerPrefs.SetInt ("redos", 2);
594   PlayerPrefs.SetString ("game_status", "playing");
595   PlayerPrefs.SetInt ("game_highest_block", 0);
596   PlayerPrefs.SetInt ("cube_rotation_x", 0);
597   PlayerPrefs.SetInt ("cube_rotation_y", 0);
598   PlayerPrefs.SetInt ("cube_rotation_z", 0);
599   PlayerPrefs.Save ();
600
601   this.fillRandomBlock(ref x, ref y, ref z, ref newNumber);
602   positions [x, y, z] = newNumber;
603   this.fillRandomBlock(ref x, ref y, ref z, ref newNumber);
604   positions [x, y, z] = newNumber;
605   this.saveHistory();
606
607   this.setScore (0);
608
609   TimerScript timerScript = this.gameObject.GetComponent ("TimerScript") as TimerScript;
610   timerScript.ResetTimer();
611  }
612
613  public int GetHighScore()
614  {
615   string key = "highscore-" + options.GetOptionsKey();
616   if (PlayerPrefs.HasKey (key)) {
617    return PlayerPrefs.GetInt (key);
618   }
619   else {
620    this.SetHighScore(0);
621    return 0;
622   }
623  }
624
625  void SetHighScore(int myHighScore)
626  {
627   string key = "highscore-" + options.GetOptionsKey();
628   PlayerPrefs.SetInt( key, myHighScore );
629   PlayerPrefs.Save();
630  }
631
632  public int getHighestBlock()
633  {
634   string key = "highestblock-" + options.GetOptionsKey();
635   if (PlayerPrefs.HasKey (key)) {
636    return PlayerPrefs.GetInt (key);
637   }
638   else {
639    this.SetHighestBlock(0);
640    return 0;
641   }
642  }
643
644  void SetHighestBlock(int highestBlock)
645  {
646   string key = "highestblock-" + options.GetOptionsKey();
647   PlayerPrefs.SetInt( key, highestBlock );
648   PlayerPrefs.Save();
649  }
650
651  private bool CheckGameOver() {
652
653   string[] axisList = new string[3] {"x", "y", "z"};
654   int direction = 1;
655   string axis = "x";
656   int loop1, loop2, loopAxis; //looping variables
657   int x, y, z; //block location variables
658   int numMoves = 0; //number of moves to make
659   int scoreChange = 0;
660   bool blockCollision = false;
661   Transform blockA, blockB, blockC; //variables for holding the three blocks in a row
662   IDictionary newNumbers = new Dictionary(); //new numbers for blocks a,b & c to have
663   IDictionary shiftBy = new Dictionary(); //distance for blocks a,b & c to shift
664
665   //loop through each of the 9 rows to be calculated
666   for(loopAxis = 0; loopAxis < 3; loopAxis ++) {
667    axis = axisList[loopAxis];
668   for(direction = -1; direction < 2; direction += 2) {
669   for(loop1 = 0; loop1 <=2; loop1++) {
670   for(loop2 = 0; loop2 <=2; loop2++) {
671    if (axis == "x") {
672     y = loop1;
673     z = loop2;
674     if (direction == 1) {
675      blockA= this.blocks[0,y,z];
676      blockB= this.blocks[1,y,z];
677      blockC= this.blocks[2,y,z];
678     }
679     else {
680      blockA= this.blocks[2,y,z];
681      blockB= this.blocks[1,y,z];
682      blockC= this.blocks[0,y,z];
683     }
684    }
685    else if (axis == "y") {
686     x = loop1;
687     z = loop2;
688     if (direction == 1) {
689      blockA= this.blocks[x,0,z];
690      blockB= this.blocks[x,1,z];
691      blockC= this.blocks[x,2,z];
692     }
693     else {
694      blockA= this.blocks[x,2,z];
695      blockB= this.blocks[x,1,z];
696      blockC= this.blocks[x,0,z];
697     }
698    }
699    else {
700     x = loop1;
701     y = loop2;
702     if (direction == 1) {
703      blockA= this.blocks[x,y,0];
704      blockB= this.blocks[x,y,1];
705      blockC= this.blocks[x,y,2];
706     }
707     else {
708      blockA= this.blocks[x,y,2];
709      blockB= this.blocks[x,y,1];
710      blockC= this.blocks[x,y,0];
711     }
712    }
713    calculateRowChanges(this.getBlockNumber(blockA), this.getBlockNumber(blockB), this.getBlockNumber(blockC), ref scoreChange, ref newNumbers, ref shiftBy, ref blockCollision);
714
715    numMoves = numMoves + shiftBy["a"] + shiftBy["b"] + shiftBy["c"];
716   }
717   }
718   }
719   }
720   if (numMoves > 0) {
721    return false;
722   }
723   else {
724    return true;
725   }
726  }
727
728  void OnGUI() {
729   //GAME GUI
730   if (this.gameView == "game") {
731    GUI.skin = currentGUISkin;
732    this.gameLight.intensity = this.lightIntensity;
733    this.mainCamera.transform.eulerAngles = new Vector3 (16F, 29.5F, 0);
734
735    //create rotating buttons
736
737
738
739    if (PlayerPrefs.GetString ("game_status") == "game_over") {
740     GUI.Label (new Rect (0, Screen.height * 0.3f , Screen.width, Screen.height * 0.10F), "Game Over", "BigLabel");
741     this.gameLight.intensity = 0;
742    }
743    if (PlayerPrefs.GetString ("game_status") == "game_won") {
744     GUI.Label (new Rect (0, Screen.height * 0.3f , Screen.width, Screen.height * 0.10F), "You Won!", "BigLabel");
745     if (GUI.Button(new Rect(Screen.width * .33f, Screen.height * 0.4F, Screen.width * 0.30F, Screen.height * 0.06F),"Continue")) {
746      PlayerPrefs.SetString ("game_status", "playing");
747      PlayerPrefs.Save ();
748     }
749     this.gameLight.intensity = 0;
750    }
751
752    GUI.Label (new Rect (0, 0, Screen.width, Screen.height * 0.06F), "Score: " + this.score.ToString (), "BigLabel");
753    string highScoreText = "High Score/Block: " + this.GetHighScore ().ToString () + " / " + this.getHighestBlock ().ToString ();
754    GUI.Label (new Rect (0, Screen.height * 0.06F, Screen.width, Screen.height / 10), highScoreText, "SmallLabel");
755
756
757    GUIStyle style = currentGUISkin.GetStyle ("button");
758    //style.fontSize = 14;
759
760    if (GUI.Button(new Rect(1, Screen.height * 0.12F, Screen.width * 0.30F, Screen.height * 0.06F),"Menu")) {
761     this.gameView = "menu";
762    }
763    if (GUI.Button(new Rect(Screen.width * .33f, Screen.height * 0.12F, Screen.width * 0.33F, Screen.height * 0.06F),"Restart")) {
764     this.restart();
765    }
766    if (GUI.Button(new Rect(Screen.width * .7f, Screen.height * 0.12F, Screen.width * .3f, Screen.height * 0.06F), "Undo (" + PlayerPrefs.GetInt ("redos").ToString () + ")")) {
767     this.undo();
768    }
769
770
771    //Roation buttons
772
773
774    //GUI.Label(new Rect(Screen.width * .8f, Screen.height * 0.72F, Screen.width * .1f, Screen.height * 0.06F), "", "RotateButton");
775
776    //left button
777    if (GUI.Button(new Rect(Screen.width * .73f, Screen.height * 0.72F, Screen.width * .1f, Screen.height * 0.06F), "\t", "RotateButtonLeft")) {
778     this.rotateBlocks(Vector3.up);
779    }
780    //right button
781    if (GUI.Button(new Rect(Screen.width * .87f, Screen.height * 0.72F, Screen.width * .1f, Screen.height * 0.06F), "", "RotateButtonRight")) {
782     this.rotateBlocks(Vector3.down);
783    }
784    //up button
785    if (GUI.Button(new Rect(Screen.width * .8f, Screen.height * 0.675F, Screen.width * .1f, Screen.height * 0.06F), "", "RotateButtonUp")) {
786     this.rotateBlocks(Vector3.right);
787    }
788    //down button
789    if (GUI.Button(new Rect(Screen.width * .8f, Screen.height * 0.765F, Screen.width * .1f, Screen.height * 0.06F), "", "RotateButtonDown")) {
790     this.rotateBlocks(Vector3.left);
791    }
792   }
793  }
794
795  private void sizeGUI() {
796   this.currentGUISkin.GetStyle ("Label").fontSize = Mathf.CeilToInt(Screen.height * 0.04F);
797   this.currentGUISkin.GetStyle ("Button").fontSize = Mathf.CeilToInt(Screen.height * 0.04F);
798   this.currentGUISkin.GetStyle ("Subheader").fontSize = Mathf.CeilToInt(Screen.height * 0.05F);
799   this.currentGUISkin.GetStyle ("Toggle").fontSize = Mathf.CeilToInt(Screen.height * 0.04F);
800   this.currentGUISkin.GetStyle ("ToggleLabel").fontSize = Mathf.CeilToInt(Screen.height * 0.04F);
801   this.currentGUISkin.GetStyle ("ToggleLabelWarning").fontSize = Mathf.CeilToInt(Screen.height * 0.04F);
802
803   this.currentGUISkin.GetStyle ("SmallLabel").fontSize = Mathf.CeilToInt(Screen.height * 0.03F);
804
805   this.currentGUISkin.GetStyle ("BigLabel").fontSize = Mathf.CeilToInt(Screen.height * 0.06F);
806
807   this.currentGUISkin.GetStyle ("Toggle").padding.top = Mathf.CeilToInt(Screen.height * 0.04F);
808   this.currentGUISkin.GetStyle ("Toggle").padding.left = Mathf.CeilToInt(Screen.height * 0.04F);
809  }
810
811  private void saveHistory() {
812   int x,y,z;
813   string stringVal = "";
814
815   //create comma separated list of values
816   for (x = 0; x <= 2; x++) {
817    for (y = 0; y <= 2; y++) {
818     for (z = 0; z <= 2; z++) {
819      stringVal = stringVal + getBlockNumber(this.blocks[x,y,z]).ToString() + ",";
820     }
821    }
822   }
823   //add score and highest block to end of array
824   stringVal = stringVal + this.score.ToString() + "," + PlayerPrefs.GetInt ("game_highest_block").ToString();
825
826   PlayerPrefs.SetString ("redo_moves2",PlayerPrefs.GetString ("redo_moves1"));
827   PlayerPrefs.SetString ("redo_moves1",PlayerPrefs.GetString ("redo_moves0"));
828   PlayerPrefs.SetString ("redo_moves0",stringVal);
829
830   PlayerPrefs.Save();
831  }
832
833  private void undo() {
834   string[] positions = new string[27];
835   int myNum = 0;
836   char[] separator = {','};
837
838   if( PlayerPrefs.GetString ("game_status") != "game_over"
839      && PlayerPrefs.GetString ("redo_moves1") != ""
840      && PlayerPrefs.GetInt ("redos") > 0
841   ) {
842    positions = PlayerPrefs.GetString ("redo_moves1").Split (separator);
843    //loop through and set the block numbers for each block
844    for (int x = 0; x <= 2; x++) {
845     for (int y = 0; y <= 2; y++) {
846      for (int z = 0; z <= 2; z++) {
847       int.TryParse(positions[9*x+3*y+z], out myNum);
848       this.setBlockNumber(this.blocks[x,y,z],myNum);
849      }
850     }
851    }
852
853    //roll back the score
854    int.TryParse (positions[27], out myNum);
855    this.setScore (myNum);
856
857    //roll back the game_highest_block
858    int.TryParse (positions[28], out myNum);
859    PlayerPrefs.SetInt ("game_highest_block", myNum);
860
861    //move all the redo moves back
862    PlayerPrefs.SetString ("redo_moves0",PlayerPrefs.GetString ("redo_moves1"));
863    PlayerPrefs.SetString ("redo_moves1",PlayerPrefs.GetString ("redo_moves2"));
864    PlayerPrefs.SetString ("redo_moves2","");
865    PlayerPrefs.SetInt ("redos", PlayerPrefs.GetInt ("redos") - 1);
866   }
867  }
868
869  private void rotateBlocks(Vector3 direction) {
870   Transform block;
871   BlockScript blockScript;
872   Transform connector;
873   ConnectorScript connectorScript;
874   this.rotating = true;
875   for (int x = 0; x <= 2; x++) {
876    for (int y = 0; y <= 2; y++) {
877     for (int z = 0; z <= 2; z++) {
878      block = this.blocks[x,y,z];
879      block.GetComponent().rotateBlock(direction);
880
881      for(int axis = 0; axis <=2; axis++) {
882       connector = this.connectors[x,y,z,axis];
883       connector.GetComponent().rotateConnector (direction);
884      }
885     }
886    }
887   }
888  }
889
890  private void loadSavedGame() {
891   string[] positions = new string[27];
892   int positionNum = 0;
893   char[] separator = {','};
894   positions = PlayerPrefs.GetString ("redo_moves0").Split (separator);
895
896   for (int x = 0; x <= 2; x++) {
897    for (int y = 0; y <= 2; y++) {
898     for (int z = 0; z <= 2; z++) {
899      int.TryParse(positions[9*x+3*y+z], out positionNum);
900      this.setBlockNumber(this.blocks[x,y,z],positionNum);
901     }
902    }
903   }
904
905
906   this.adjustConnectors ();
907   this.setScore (PlayerPrefs.GetInt ("score"));
908
909  }
910}
911
912
File name: BallScript.cs Copy
11     void Start()
12     {
13         InitialLocation = transform.position;
14         GetComponent().velocity = Vector2.zero;
15     }
File name: BallScript.cs Copy
41     public void StartBall()
42     {
43         transform.position = InitialLocation;
44         GetComponent().velocity = new Vector2(Random.Range(-3.0f, 3.0f), SpeedY);
45     }
File name: frmColor.cs Copy
86   private void InitializeComponent()
87   {
88             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ColorInput));
89             this.Blue = new System.Windows.Forms.TextBox();
90             this.label4 = new System.Windows.Forms.Label();
91             this.Green = new System.Windows.Forms.TextBox();
92             this.label3 = new System.Windows.Forms.Label();
93             this.Red = new System.Windows.Forms.TextBox();
94            this.label2 = new System.Windows.Forms.Label();
95             this.label1 = new System.Windows.Forms.Label();
96             this.Cancel = new System.Windows.Forms.Button();
97             this.OK = new System.Windows.Forms.Button();
98             this.SuspendLayout();
99             //
100             // Blue
101             //
102             this.Blue.Location = new System.Drawing.Point(103, 112);
103             this.Blue.Name = "Blue";
104             this.Blue.Size = new System.Drawing.Size(100, 20);
105             this.Blue.TabIndex = 17;
106             ////
107             // label4
108             //
109             this.label4.ForeColor = System.Drawing.Color.Blue;
110             this.label4.Location = new System.Drawing.Point(32, 112);
111             this.label4.Name = "label4";
112             this.label4.Size = new System.Drawing.Size(32, 16);
113             this.label4.TabIndex = 16;
114             this.label4.Text = "Blue";
115            // //
116            // // Green
117            // //
118             this.Green.Location = new System.Drawing.Point(103, 80);
119             this.Green.Name = "Green";
120             this.Green.Size = new System.Drawing.Size(100, 20);
121             this.Green.TabIndex = 15;
122             //
123            // // label3
124            // //
125             this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(128)))), ((int)(((byte)(255)))));
126             this.label3.Location = new System.Drawing.Point(32, 80);
127             this.label3.Name = "label3";
128             this.label3.Size = new System.Drawing.Size(32, 16);
129             this.label3.TabIndex = 14;
130             this.label3.Text = "Green";
131             //
132            // // Red
133            // //
134             this.Red.Location = new System.Drawing.Point(103, 48);
135             this.Red.Name = "Red";
136             this.Red.Size = new System.Drawing.Size(100, 20);
137             this.Red.TabIndex = 13;
138            // //
139            // // label2
140            // //
141             this.label2.ForeColor = System.Drawing.Color.Red;
142             this.label2.Location = new System.Drawing.Point(32, 48);
143             this.label2.Name = "label2";
144             this.label2.Size = new System.Drawing.Size(32, 16);
145             this.label2.TabIndex = 12;
146             this.label2.Text = "Red";
147             //
148            // // label1
149            // //
150             this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
151             this.label1.ForeColor = System.Drawing.Color.Blue;
152             this.label1.Location = new System.Drawing.Point(16, 16);
153             this.label1.Name = "label1";
154             this.label1.Size = new System.Drawing.Size(281, 24);
155             this.label1.TabIndex = 11;
156             this.label1.Text = "Nhập các giá trị màu từ -255 đến 255";
157             // this.label1.Click += new System.EventHandler(this.label1_Click);
158            // //
159            // // Cancel
160            // //
161             this.Cancel.Location = new System.Drawing.Point(176, 178);
162             this.Cancel.Name = "Cancel";
163             this.Cancel.Size = new System.Drawing.Size(75, 23);
164             this.Cancel.TabIndex = 9;
165             this.Cancel.Text = "Bỏ qua";
166             //
167            // // OK
168            // //
169             this.OK.Location = new System.Drawing.Point(19, 178);
170             this.OK.Name = "OK";
171             this.OK.Size = new System.Drawing.Size(75, 23);
172             this.OK.TabIndex = 10;
173             this.OK.Text = "Đồng ý";
174            // this.OK.Click += new System.EventHandler(this.OK_Click);
175             //
176             // ColorInput
177             //
178             this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
179             this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
180             this.ClientSize = new System.Drawing.Size(309, 226);
181             this.Controls.Add(this.Blue);
182             this.Controls.Add(this.label4);
183             this.Controls.Add(this.Green);
184             this.Controls.Add(this.label3);
185             this.Controls.Add(this.Red);
186             this.Controls.Add(this.label2);
187             this.Controls.Add(this.label1);
188             this.Controls.Add(this.OK);
189             this.Controls.Add(this.Cancel);
190             this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
191             this.Name = "ColorInput";
192             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
193             this.Text = "CHON MAU";
194             //this.Load += new System.EventHandler(this.ColorInput_Load);
195             this.ResumeLayout(false);
196             this.PerformLayout();
197
198   }
File name: frmCategoryRecord.cs Copy
23         private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
24         {
25             string strRowNumber = (e.RowIndex + 1).ToString();
26             SizeF size = e.Graphics.MeasureString(strRowNumber, this.Font);
27             if (dataGridView1.RowHeadersWidth < Convert.ToInt32((size.Width + 20)))
28             {
29                 dataGridView1.RowHeadersWidth = Convert.ToInt32((size.Width + 20));
30             }
31             Brush b = SystemBrushes.ControlText;
32             e.Graphics.DrawString(strRowNumber, this.Font, b, e.RowBounds.Location.X + 15, e.RowBounds.Location.Y + ((e.RowBounds.Height - size.Height) / 2));
33
34         }
File name: frmCustomerOrders.cs Copy
136         private void DataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
137         {
138             string strRowNumber = (e.RowIndex + 1).ToString();
139             SizeF size = e.Graphics.MeasureString(strRowNumber, this.Font);
140             if (DataGridView1.RowHeadersWidth < Convert.ToInt32((size.Width + 20)))
141             {
142                 DataGridView1.RowHeadersWidth = Convert.ToInt32((size.Width + 20));
143             }
144             Brush b = SystemBrushes.ControlText;
145             e.Graphics.DrawString(strRowNumber, this.Font, b, e.RowBounds.Location.X + 15, e.RowBounds.Location.Y + ((e.RowBounds.Height - size.Height) / 2));
146
147         }
File name: frmCustomerOrders.cs Copy
149               private void DataGridView3_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
150         {
151             string strRowNumber = (e.RowIndex + 1).ToString();
152             SizeF size = e.Graphics.MeasureString(strRowNumber, this.Font);
153             if (DataGridView3.RowHeadersWidth < Convert.ToInt32((size.Width + 20)))
154             {
155                 DataGridView3.RowHeadersWidth = Convert.ToInt32((size.Width + 20));
156             }
157             Brush b = SystemBrushes.ControlText;
158             e.Graphics.DrawString(strRowNumber, this.Font, b, e.RowBounds.Location.X + 15, e.RowBounds.Location.Y + ((e.RowBounds.Height - size.Height) / 2));
159
160         }
File name: frmCustomersRecord.cs Copy
50         private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
51         {
52             string strRowNumber = (e.RowIndex + 1).ToString();
53             SizeF size = e.Graphics.MeasureString(strRowNumber, this.Font);
54             if (dataGridView1.RowHeadersWidth < Convert.ToInt32((size.Width + 20)))
55             {
56                 dataGridView1.RowHeadersWidth = Convert.ToInt32((size.Width + 20));
57             }
58             Brush b = SystemBrushes.ControlText;
59             e.Graphics.DrawString(strRowNumber, this.Font, b, e.RowBounds.Location.X + 15, e.RowBounds.Location.Y + ((e.RowBounds.Height - size.Height) / 2));
60
61         }
File name: frmCustomersRecord1.cs Copy
51         private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
52         {
53             string strRowNumber = (e.RowIndex + 1).ToString();
54             SizeF size = e.Graphics.MeasureString(strRowNumber, this.Font);
55             if (dataGridView1.RowHeadersWidth < Convert.ToInt32((size.Width + 20)))
56             {
57                 dataGridView1.RowHeadersWidth = Convert.ToInt32((size.Width + 20));
58             }
59             Brush b = SystemBrushes.ControlText;
60             e.Graphics.DrawString(strRowNumber, this.Font, b, e.RowBounds.Location.X + 15, e.RowBounds.Location.Y + ((e.RowBounds.Height - size.Height) / 2));
61
62         }

Download file with original file name:Location

Location 140 lượt xem

Gõ tìm kiếm nhanh...