From cbbd20901175571af01fc6938a5f1a80adfbcaa7 Mon Sep 17 00:00:00 2001 From: shadow8t4 Date: Thu, 24 May 2018 02:47:51 +0100 Subject: [PATCH] Angels & Demons Game Logic Complete. (Almost) (#2) --- Angels and Demons/Assets/Scenes/Main.unity | Bin 36616 -> 37544 bytes .../Assets/Scripts/BoardManager.cs | 361 +++++++++--------- .../Assets/Scripts/GameManager.cs | 245 ++++++++++++ .../Assets/Scripts/GameManager.cs.meta | 11 + .../Assets/Scripts/PlayerManager.cs | 43 +++ .../Assets/Scripts/PlayerManager.cs.meta | 11 + .../Sprites/angel-with-wings-and-halo.png | Bin 0 -> 18107 bytes .../angel-with-wings-and-halo.png.meta | 84 ++++ Angels and Demons/Assets/Sprites/devil.png | Bin 0 -> 16851 bytes .../Assets/Sprites/devil.png.meta | 84 ++++ Angels and Demons/Assets/Sprites/empty.png | Bin 0 -> 78 bytes .../Assets/Sprites/empty.png.meta | 92 +++++ .../ProjectSettings/EditorBuildSettings.asset | Bin 4156 -> 4156 bytes .../ProjectSettings/GraphicsSettings.asset | Bin 4430 -> 4442 bytes .../ProjectSettings/ProjectSettings.asset | Bin 56763 -> 56771 bytes .../ProjectSettings/ProjectVersion.txt | 2 +- 16 files changed, 743 insertions(+), 190 deletions(-) create mode 100644 Angels and Demons/Assets/Scripts/GameManager.cs create mode 100644 Angels and Demons/Assets/Scripts/GameManager.cs.meta create mode 100644 Angels and Demons/Assets/Scripts/PlayerManager.cs create mode 100644 Angels and Demons/Assets/Scripts/PlayerManager.cs.meta create mode 100644 Angels and Demons/Assets/Sprites/angel-with-wings-and-halo.png create mode 100644 Angels and Demons/Assets/Sprites/angel-with-wings-and-halo.png.meta create mode 100644 Angels and Demons/Assets/Sprites/devil.png create mode 100644 Angels and Demons/Assets/Sprites/devil.png.meta create mode 100644 Angels and Demons/Assets/Sprites/empty.png create mode 100644 Angels and Demons/Assets/Sprites/empty.png.meta diff --git a/Angels and Demons/Assets/Scenes/Main.unity b/Angels and Demons/Assets/Scenes/Main.unity index 04aa530ac05b97882fe1fdb728646c49db34e04b..6d4a3e23df11431ac2a22c9c22dd99add733640f 100644 GIT binary patch delta 820 zcmYk4T}V@57{{M?-+oL_ZF3e1lQx>6Gx0(ZW{Mdnq@sihM7F@0Ug)Niw)uftv*jcz z9|Vas5fxFy$%%-tKqM3j!@fx`jIIPLy%6a}dfs({F8=5L{D0>?&w1YWoI4|msR@Mu z(7p>WFa-dI06K&Rf{`7aw`r?QFM22SV(qHqRa^9SW#{{WleFZ6R93yORF6@)fKJyb z69Wc3t&oyQxg@}Rvw=A<%Wl@@QDo4KYu;=eciqkO`&t@WJy7du^ft-0r_t9Miq}%9 zJ8H;j;Vlxt5uQ1bvLrqpo|)DwpSh~kmn!dhM%oXqTwW`1ZCjtG(<(cSQ?9^wUOUT` z-uO!uwsE2cl5^C5l?=Y50Q8WnNF_3JWBv_8S1c94N7O_rmG4;SII1Y8k;-HiBo?Dg z2HUS4b!1?tqv|E+U4O_dMl4L(O!_IaqQd}u3_j~GncXMm1Ly)B!5ta$nNL$bLaNKl zXd(lVSSLAu$#t2n5F4V*hpCsD+en$kKOZ#6%tyPj(;9jgtnW#FG8iIujhy$}*h5D^ zqvsp_*Devu0$x48xfz{>G&mS4RKLtVC@GNELd$BcmYP|TEV$T_hpSydA*>IuJ9Fdbfumm1ZJiG7W71jfi6o1%BF>WjtNFi49JBgt80*tX3lUMl3rvn$*$&#GE)@EW e(xYe*!=0dtg1}UmA2H)*TLx}+>!gkT9OWO-9nOsa delta 583 zcmZ3nl&NDLlK=xl#ZCr>ehvl(20926ChTBRH@aGNEDuq6`e6AORY|aQo}# zVj#s}0TfGQV3@34#ml<@$cCB2IoYu)pOI_w-YU1rlGUr!Ir8Mq_Jug`?Wyg{uwVD( z8Z$^UL(v~~iRvD=pG!U&9Y4lXag1p)N6iXGmdP7ylo?qkU#&4`J)!x}&UCY2?QvFi zHlPLtZiUH=4f>P$niny$Zr<3;&%(&E`C$8bCPwzj6T8IqL0-)(TyT8u#;HKZ1HFBf z+Y>}{0().rect.height; boardwidth = board.GetComponent().rect.width; spacespacing = ((canvaswidth - canvasspacing)/11f); + SpawnInitialBoard(); + ResetSpaces(); + ResetSprites(); } + // Grab the current canvas dimentions, used for dynamic resizing checks. + private Vector2 GetCurrentCanvas() + { + Vector2 output; + output.x = this.GetComponentInParent().rect.height; + output.y = this.GetComponentInParent().rect.width; + return output; + } + + // Reset the spaces array to all -1 values. This means they will be ignored if they somehow + // get passed to a function that tries to change spaces. + private void ResetSpaces() + { + for(int i = 0; i < spaces.Length; ++i) + { + spaces[i] = -1; + } + } + + // See above, but for the sprites array. + private void ResetSprites() + { + for(int i = 0; i < sprites.Length; ++i) + { + sprites[i] = -1; + } + } + + // Function call to return one Instantiated Button object. + // Should be changed along with SpawnWhiteSpace to instead spawn the object and attach them + // to a defined struct that can also hold the index of the spawned object. This will allow + // for easier indexing of these prefabs in the future without the need for parsing. + private Button SpawnBlackSpace(int i) + { + Button bsbutton; + bsbutton = Instantiate(blackspaceasset, blackspacetransform); + bsbutton.name += "" + i; + bsbutton.onClick.AddListener(delegate{ButtonAction(bsbutton);}); + return bsbutton; + } + + // Function call to return one Instantiated Image object. + private Image SpawnWhiteSpace() + { + Image wsimage; + wsimage = Instantiate(whitespaceasset, whitespacetransform); + return wsimage; + } + + // Set up an empty board, sized to the current canvas. + private void SpawnInitialBoard() + { + for(int i = 0; i < blackspaces.Length; ++i) + { + Button temp; + temp = SpawnBlackSpace(i); + temp.GetComponent().sizeDelta = new Vector2(spacespacing, spacespacing); + + float x = (spacespacing*i*2 + (temp.GetComponent().rect.width / 2f)) % (boardwidth) - ((boardwidth) / 2f); + float y = (boardheight / 2f) - ((temp.GetComponent().rect.height / 2f) + spacespacing*(Mathf.Floor(i/(11f/2f)))); + temp.transform.localPosition = new Vector3(x, y, 0); + + blackspaces[i] = temp; + + if(i < blackspaces.Length - 1) + { + WhiteSpace tempws; + + Image tempimage; + tempimage = SpawnWhiteSpace(); + tempimage.GetComponent().sizeDelta = new Vector2(spacespacing, spacespacing); + tempimage.sprite = emptysprite; + + x = (spacespacing*i*2 + (tempimage.GetComponent().rect.width / 2f)*3) % (boardwidth) - ((boardwidth) / 2f); + y = (boardheight / 2f) - ((tempimage.GetComponent().rect.height / 2f) + spacespacing*(Mathf.Floor((i + 1)/(11.01f/2f)))); + tempimage.transform.localPosition = new Vector3(x, y, 0); + + tempws.img = tempimage; + tempws.spriteindex = 2; + + whitespaces[i] = tempws; + } + } + } + + // Update the board's scale according to the current canvas size, call UpdatePieceScale(). private void UpdateBoardScale() { canvasheight = this.GetComponentInParent().rect.height; @@ -69,51 +172,7 @@ public class BoardManager : MonoBehaviour UpdatePieceScale(); } - private Button SpawnBlackSpace(int i) - { - Button bsbutton; - bsbutton = Instantiate(blackspaceasset, blackspacetransform); - bsbutton.name += "" + i; - bsbutton.onClick.AddListener(delegate{ButtonAction(bsbutton);}); - return bsbutton; - } - - private Image SpawnWhiteSpace() - { - Image wsimage; - wsimage = Instantiate(whitespaceasset, whitespacetransform); - return wsimage; - } - - private void SpawnInitialBoard() - { - for(int i = 0; i < blackspaces.Length; ++i) - { - Button temp; - temp = SpawnBlackSpace(i); - temp.GetComponent().sizeDelta = new Vector2(spacespacing, spacespacing); - - float x = (spacespacing*i*2 + (temp.GetComponent().rect.width / 2f)) % (boardwidth) - ((boardwidth) / 2f); - float y = (boardheight / 2f) - ((temp.GetComponent().rect.height / 2f) + spacespacing*(Mathf.Floor(i/(11f/2f)))); - temp.transform.localPosition = new Vector3(x, y, 0); - - blackspaces[i] = temp; - - if(i < blackspaces.Length - 1) - { - Image tempimage; - tempimage = SpawnWhiteSpace(); - tempimage.GetComponent().sizeDelta = new Vector2(spacespacing, spacespacing); - - x = (spacespacing*i*2 + (tempimage.GetComponent().rect.width / 2f)*3) % (boardwidth) - ((boardwidth) / 2f); - y = (boardheight / 2f) - ((tempimage.GetComponent().rect.height / 2f) + spacespacing*(Mathf.Floor((i + 1)/(11.01f/2f)))); - tempimage.transform.localPosition = new Vector3(x, y, 0); - - whitespaces[i] = tempimage; - } - } - } - + // Update the pieces' scales according to the current canvas size. private void UpdatePieceScale() { for(int i = 0; i < blackspaces.Length; ++i) @@ -127,24 +186,74 @@ public class BoardManager : MonoBehaviour if(i < blackspaces.Length - 1) { - Image tempimage = whitespaces[i]; + Image tempimage = whitespaces[i].img; tempimage.GetComponent().sizeDelta = new Vector2(spacespacing, spacespacing); x = (spacespacing*i*2 + (tempimage.GetComponent().rect.width / 2f)*3) % (boardwidth) - ((boardwidth) / 2f); y = (boardheight / 2f) - ((tempimage.GetComponent().rect.height / 2f) + spacespacing*(Mathf.Floor((i + 1)/(11.01f/2f)))); tempimage.transform.localPosition = new Vector3(x, y, 0); - whitespaces[i] = tempimage; + whitespaces[i].img = tempimage; } } } + + // Change the passed in space indexes' sprites to the specified sprites. + private void ChangeSpaces(int[] spaces, int[] sprites) + { + for(int i = 0; i < spaces.Length; ++i) + { + if(spaces[i] >= 0 && spaces[i] < whitespaces.Length) + { + switch(sprites[i]) + { + case 0: + whitespaces[spaces[i]].img.sprite = angelsprite; + whitespaces[spaces[i]].spriteindex = 0; + break; + case 1: + whitespaces[spaces[i]].img.sprite = demonsprite; + whitespaces[spaces[i]].spriteindex = 1; + break; + case 2: + whitespaces[spaces[i]].img.sprite = emptysprite; + whitespaces[spaces[i]].spriteindex = 2; + break; + default: + break; + } + } + } + + // After a move has been made, since right now spaces are checked every frame, + // change all spaces[] values to -1 to avoid sprites being updated every frame. + ResetSpaces(); + ResetSprites(); + + movemade = false; + } - // Update is called once per frame + /* Update is called once per frame + * Here we check if the current canvas has changed and if so, call UpdateBoardScale(), + * then we also check if a move has been made, and call ChangeSpaces with the necessary parameters. + */ void Update () { - UpdateBoardScale(); + Vector2 currentcanvas = GetCurrentCanvas(); + + if(currentcanvas.x != canvaswidth || currentcanvas.y != canvasheight) + { + UpdateBoardScale(); + } + + if(movemade) + { + ChangeSpaces(spaces, sprites); + } } + // Function definition to specify what the buttons should do when pressed, which is to call + // the GameManager.MakeMove() function with the necessary parameters. public void ButtonAction(Button b) { int buttonindex = 0; @@ -153,12 +262,17 @@ public class BoardManager : MonoBehaviour Vector2 boardcoords = ConvertButtonIndex(buttonindex); // This is completely incorrect and will most likely need a switch case of some kind in the future. - Debug.Log("Board coordinates: " + boardcoords.x + " " + boardcoords.y); + //Debug.Log("Board coordinates: " + boardcoords.x + " " + boardcoords.y); - ChangeSpaces(boardcoords); + // Temporarily hardcoded. Should later be changed to a GameManager function call that determines + // what to change spaces to. + GameManager.MakeMove(boardcoords, numberofspaces, whitespaces, spaces, sprites, ref movemade); } - private Vector2 ConvertButtonIndex(int i) + // Convert a given button index in the blackspaces[] array to board coordinates. + // These need to made more modular in the future to support + // different board sizes. + public static Vector2 ConvertButtonIndex(int i) { Vector2 temp; temp.x = (i*2)%11; @@ -253,7 +367,8 @@ public class BoardManager : MonoBehaviour } } - private int ConvertImageIndex(Vector2 bc) + // Convert a given set of board coordinates to the corresponding whitespaces[] array index. + public static int ConvertImageIndex(Vector2 bc) { int i = 0; @@ -308,136 +423,4 @@ public class BoardManager : MonoBehaviour return i; } - - private void ChangeSpaces(Vector2 bc) - { - Vector2 tempbc = bc; - int wsi = 0; - - if(bc.x > 0 && bc.x < (numberofspaces - 1)) - { - if(bc.y > 0) - { - Debug.Log( - "changing space:" + - (bc.x) + " " + (bc.y - 1) - ); - tempbc = bc; - tempbc.y -= 1; - wsi = ConvertImageIndex(tempbc); - whitespaces[wsi].sprite = angelimage; - } - if(bc.y < (numberofspaces - 1)) - { - Debug.Log( - "changing space:" + - (bc.x) + " " + (bc.y + 1) - ); - tempbc = bc; - tempbc.y += 1; - wsi = ConvertImageIndex(tempbc); - whitespaces[wsi].sprite = angelimage; - } - Debug.Log( - "changing spaces:" + - (bc.x - 1) + " " + (bc.y) + "\t" + - (bc.x + 1) + " " + (bc.y) - ); - tempbc = bc; - - tempbc.x -= 1; - wsi = ConvertImageIndex(tempbc); - whitespaces[wsi].sprite = angelimage; - - tempbc.x += 2; - wsi = ConvertImageIndex(tempbc); - whitespaces[wsi].sprite = angelimage; - } - else if(bc.y > 0 && bc.y < (numberofspaces - 1)) - { - if(bc.x == 0) - { - Debug.Log( - "changing space:" + - (bc.x + 1) + " " + (bc.y) - ); - tempbc = bc; - tempbc.x += 1; - wsi = ConvertImageIndex(tempbc); - whitespaces[wsi].sprite = angelimage; - } - if(bc.x == (numberofspaces - 1)) - { - Debug.Log( - "changing space:" + - (bc.x - 1) + " " + (bc.y) - ); - tempbc = bc; - tempbc.x -= 1; - wsi = ConvertImageIndex(tempbc); - whitespaces[wsi].sprite = angelimage; - } - Debug.Log( - "changing spaces:" + - (bc.x) + " " + (bc.y - 1) + "\t" + - (bc.x) + " " + (bc.y + 1) - ); - tempbc = bc; - - tempbc.y -= 1; - wsi = ConvertImageIndex(tempbc); - whitespaces[wsi].sprite = angelimage; - - tempbc.y += 2; - wsi = ConvertImageIndex(tempbc); - whitespaces[wsi].sprite = angelimage; - } - else - { - if(bc.x == 0) - { - Debug.Log( - "changing space:" + - (bc.x + 1) + " " + (bc.y) - ); - tempbc = bc; - tempbc.x += 1; - wsi = ConvertImageIndex(tempbc); - whitespaces[wsi].sprite = angelimage; - } - if(bc.x == (numberofspaces - 1)) - { - Debug.Log( - "changing space:" + - (bc.x - 1) + " " + (bc.y) - ); - tempbc = bc; - tempbc.x -= 1; - wsi = ConvertImageIndex(tempbc); - whitespaces[wsi].sprite = angelimage; - } - if(bc.y > 0) - { - Debug.Log( - "changing space:" + - (bc.x) + " " + (bc.y - 1) - ); - tempbc = bc; - tempbc.y -= 1; - wsi = ConvertImageIndex(tempbc); - whitespaces[wsi].sprite = angelimage; - } - if(bc.y < (numberofspaces - 1)) - { - Debug.Log( - "changing space:" + - (bc.x) + " " + (bc.y + 1) - ); - tempbc = bc; - tempbc.y += 1; - wsi = ConvertImageIndex(tempbc); - whitespaces[wsi].sprite = angelimage; - } - } - } } diff --git a/Angels and Demons/Assets/Scripts/GameManager.cs b/Angels and Demons/Assets/Scripts/GameManager.cs new file mode 100644 index 0000000..4021831 --- /dev/null +++ b/Angels and Demons/Assets/Scripts/GameManager.cs @@ -0,0 +1,245 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class GameManager : MonoBehaviour +{ + + // Private turn counter. + private static int turn = 1; + + // (currently unused) Static function that returns the current turn count. + public static int GetTurn() + { + return turn; + } + + /* Used to reset the turn counter at the beginning of every game. + * Needs to be at the beginning because I want to continue displaying + * or having the turn counter saved until I can be sure there is a new + * game starting. + */ + public static void ResetTurn() + { + turn = 1; + } + + /* This function is directly called by the BoardManager when a move is attempted, + * and determines what spaces will be changed to what based on the game's rules. + * This is goverened by the following: + * - Which player's turn it is (which sprite to change to) + * - What the space's sprite already is + * - Whether the move is legal based on the game's rules + */ + public static void MakeMove(Vector2 bc, int numberofspaces, BoardManager.WhiteSpace[] whitespaces, int[] spaces, int[] sprites, ref bool movemade) + { + // Function call to determine which spaces will be changed, see definition below. + DetermineSpacesChanged(bc, numberofspaces, spaces); + + // Function call to determine which sprites the spaces will change to, see definition below. + DetermineSpritesChanged(whitespaces, spaces, sprites); + + // Increment the turn counter. + EndTurn(); + + // Tell BoardManager that the move is finished. + movemade = true; + } + + /* This function determines which spaces *can* be changed based on the board's + * limitations. + */ + private static void DetermineSpacesChanged(Vector2 bc, int numberofspaces, int[] spaces) + { + // Used to check adjacent spaces without changing the bc reference passed in. + Vector2 tempbc = bc; + + // "White Space Index", holder variable to save the return of converting from + // board coordinates to the equivalent index in the whitespaces array. + int wsi = 0; + + /* Intricate set of if/elseif statements to determine which moves are + * legate according to the board's size values. + */ + if(bc.x > 0 && bc.x < (numberofspaces - 1)) + { + if(bc.y > 0) + { + /* + Debug.Log( + "changing space:" + + (bc.x) + " " + (bc.y - 1) + ); */ + tempbc = bc; + tempbc.y -= 1; + wsi = BoardManager.ConvertImageIndex(tempbc); + spaces[3] = wsi; + } + if(bc.y < (numberofspaces - 1)) + { + /* + Debug.Log( + "changing space:" + + (bc.x) + " " + (bc.y + 1) + ); */ + tempbc = bc; + tempbc.y += 1; + wsi = BoardManager.ConvertImageIndex(tempbc); + spaces[1] = wsi; + } + /* + Debug.Log( + "changing spaces:" + + (bc.x - 1) + " " + (bc.y) + "\t" + + (bc.x + 1) + " " + (bc.y) + ); */ + tempbc = bc; + + tempbc.x -= 1; + wsi = BoardManager.ConvertImageIndex(tempbc); + spaces[0] = wsi; + + tempbc.x += 2; + wsi = BoardManager.ConvertImageIndex(tempbc); + spaces[2] = wsi; + } + else if(bc.y > 0 && bc.y < (numberofspaces - 1)) + { + if(bc.x == 0) + { + /* Debug.Log( + "changing space:" + + (bc.x + 1) + " " + (bc.y) + ); */ + tempbc = bc; + tempbc.x += 1; + wsi = BoardManager.ConvertImageIndex(tempbc); + spaces[2] = wsi; + } + if(bc.x == (numberofspaces - 1)) + { + /* Debug.Log( + "changing space:" + + (bc.x - 1) + " " + (bc.y) + ); */ + tempbc = bc; + tempbc.x -= 1; + wsi = BoardManager.ConvertImageIndex(tempbc); + spaces[0] = wsi; + } + /* Debug.Log( + "changing spaces:" + + (bc.x) + " " + (bc.y - 1) + "\t" + + (bc.x) + " " + (bc.y + 1) + ); */ + tempbc = bc; + + tempbc.y -= 1; + wsi = BoardManager.ConvertImageIndex(tempbc); + spaces[3] = wsi; + + tempbc.y += 2; + wsi = BoardManager.ConvertImageIndex(tempbc); + spaces[1] = wsi; + } + else + { + if(bc.x == 0) + { + /* Debug.Log( + "changing space:" + + (bc.x + 1) + " " + (bc.y) + ); */ + tempbc = bc; + tempbc.x += 1; + wsi = BoardManager.ConvertImageIndex(tempbc); + spaces[2] = wsi; + } + if(bc.x == (numberofspaces - 1)) + { + /* Debug.Log( + "changing space:" + + (bc.x - 1) + " " + (bc.y) + ); */ + tempbc = bc; + tempbc.x -= 1; + wsi = BoardManager.ConvertImageIndex(tempbc); + spaces[0] = wsi; + } + if(bc.y > 0) + { + /* Debug.Log( + "changing space:" + + (bc.x) + " " + (bc.y - 1) + ); */ + tempbc = bc; + tempbc.y -= 1; + wsi = BoardManager.ConvertImageIndex(tempbc); + spaces[3] = wsi; + } + if(bc.y < (numberofspaces - 1)) + { + /* Debug.Log( + "changing space:" + + (bc.x) + " " + (bc.y + 1) + ); */ + tempbc = bc; + tempbc.y += 1; + wsi = BoardManager.ConvertImageIndex(tempbc); + spaces[1] = wsi; + } + } + } + + /* After determining which spaces are legal to change based on the board's limitations, + * this function is called to determine what sprites those spaces will change to, given + * current state of the game and the game's rule set. + */ + private static void DetermineSpritesChanged(BoardManager.WhiteSpace[] whitespaces, int[] spaces, int[] sprites) + { + int currentplayerturn = (turn -1) % 2; + + for(int i = 0; i < spaces.Length; ++i) + { + // If this is a legal move. No need for an else statement, since if it's not, + // it will already be ignored by the BoardManager. + if(spaces[i] >= 0 && spaces[i] < whitespaces.Length) + { + // Check what space's sprite is currently set to, then set sprites[i] + // to the sprite to be changed to, according to the game's rules. + switch(whitespaces[spaces[i]].spriteindex) + { + case 0: + if(currentplayerturn != 0) + { + sprites[i] = 2; + } + break; + case 1: + if(currentplayerturn != 1) + { + sprites[i] = 2; + } + break; + case 2: + sprites[i] = currentplayerturn; + break; + default: + Debug.Log("Illegal sprite index!"); + return; + } + } + } + } + + /* This should be called to increment the turn counter at the end of every turn. + * This is at the end because if an illegal move is made or some other rule is + * broken, it will keep the turn counter from being incremented unnecessarily. + * E.g. don't increment if the turn isn't actually over. + */ + private static void EndTurn() + { + ++turn; + } +} diff --git a/Angels and Demons/Assets/Scripts/GameManager.cs.meta b/Angels and Demons/Assets/Scripts/GameManager.cs.meta new file mode 100644 index 0000000..c3d4a1f --- /dev/null +++ b/Angels and Demons/Assets/Scripts/GameManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 81f6a3ad727884d16b4bd5390a90a3c1 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Angels and Demons/Assets/Scripts/PlayerManager.cs b/Angels and Demons/Assets/Scripts/PlayerManager.cs new file mode 100644 index 0000000..a3095ae --- /dev/null +++ b/Angels and Demons/Assets/Scripts/PlayerManager.cs @@ -0,0 +1,43 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class PlayerManager : MonoBehaviour +{ + // Private players variable, used to keep track of which player has which spaces. + // Should later be defined as a struct in a separate namespace. + private static int[] players = new int[2]; + + // Function call to return what the indexed player's space choice is. + public static int getPlayer(int n) + { + return players[n]; + } + + /* Function called at the beginning of a game to set the player spaces + * and reset the turn counter. + * + * This function should later be called by a manager script of some + * kind that handles menu navigation/logistics between games and other + * activity outside of the main game. + */ + public static void StartGame(int playerchoice) + { + players[0] = playerchoice; + + switch(playerchoice) + { + case 1: + players[1] = 2; + break; + case 2: + players[1] = 1; + break; + default: + Debug.Log("Invalid Player Choice!"); + return; + } + + GameManager.ResetTurn(); + } +} diff --git a/Angels and Demons/Assets/Scripts/PlayerManager.cs.meta b/Angels and Demons/Assets/Scripts/PlayerManager.cs.meta new file mode 100644 index 0000000..2cc79ad --- /dev/null +++ b/Angels and Demons/Assets/Scripts/PlayerManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 923eab5932fe2482e8c5b73ca1e5b0b4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Angels and Demons/Assets/Sprites/angel-with-wings-and-halo.png b/Angels and Demons/Assets/Sprites/angel-with-wings-and-halo.png new file mode 100644 index 0000000000000000000000000000000000000000..dfe9f9e44e20b96bb10cedbc86a65cacf3af7e1b GIT binary patch literal 18107 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 CO$yxr literal 0 HcmV?d00001 diff --git a/Angels and Demons/Assets/Sprites/angel-with-wings-and-halo.png.meta b/Angels and Demons/Assets/Sprites/angel-with-wings-and-halo.png.meta new file mode 100644 index 0000000..542c01f --- /dev/null +++ b/Angels and Demons/Assets/Sprites/angel-with-wings-and-halo.png.meta @@ -0,0 +1,84 @@ +fileFormatVersion: 2 +guid: d328f0d560bd8484489fd59e3e54989e +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 3d46763d9958e47d8855ba15b2918a95 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Angels and Demons/Assets/Sprites/devil.png b/Angels and Demons/Assets/Sprites/devil.png new file mode 100644 index 0000000000000000000000000000000000000000..ea08c203377f8b5c969b5a7e8677e0b95519c71a GIT binary patch literal 16851 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 literal 0 HcmV?d00001 diff --git a/Angels and Demons/Assets/Sprites/devil.png.meta b/Angels and Demons/Assets/Sprites/devil.png.meta new file mode 100644 index 0000000..2497a17 --- /dev/null +++ b/Angels and Demons/Assets/Sprites/devil.png.meta @@ -0,0 +1,84 @@ +fileFormatVersion: 2 +guid: 01bda0b5067f34ec6a1f865129fada51 +TextureImporter: + fileIDToRecycleName: {} + externalObjects: {} + serializedVersion: 5 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - serializedVersion: 2 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: c7d69233843874fb799d68c921777dc2 + vertices: [] + indices: + edges: [] + weights: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Angels and Demons/Assets/Sprites/empty.png b/Angels and Demons/Assets/Sprites/empty.png new file mode 100644 index 0000000000000000000000000000000000000000..8eb1b1ecc13b6e1d2375151866134cd7a040340c GIT binary patch literal 78 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=L_J*`LpWrU|M0W$cr!i aF)*;jval%kGFj NRz{$7)8vl=u>gWq4fOy3 delta 55 zcmcbmbWTZ*fr0-A1B0L+1CU@~5D);;3`Pcq7J7zyhG~WyGH3 I$t;3l05vrXVE_OC diff --git a/Angels and Demons/ProjectSettings/ProjectSettings.asset b/Angels and Demons/ProjectSettings/ProjectSettings.asset index 3e477bd7660ac7e64e761bdd0af40a26ad3f4acc..19c75706768fb53b2a226e6d47f92778fb363459 100644 GIT binary patch delta 69 zcmdnJoB8l=W;q6iGrbH9cMmf#FbD$K8-O%}k%6Iwo}r#Wn$bqNqBD%bnX5v%@ W%9Q41mQ+rDeNK^)VYB`D8a@Ekh83Lv delta 89 zcmX@Sn|b$cW;q6iGrbH9cXu-|FbD$K8-O%}k%6Iwo}r#$n&C#dqBD%#nW>S_1 q%9Q41mQ?Dwq^2d7=9D<+=N2U9RqFZXCuQcOx}@gjZ+1Ul!v_GuLLCqQ diff --git a/Angels and Demons/ProjectSettings/ProjectVersion.txt b/Angels and Demons/ProjectSettings/ProjectVersion.txt index 9788b3a..22977b3 100644 --- a/Angels and Demons/ProjectSettings/ProjectVersion.txt +++ b/Angels and Demons/ProjectSettings/ProjectVersion.txt @@ -1 +1 @@ -m_EditorVersion: 2018.1.1f1 +m_EditorVersion: 2018.1.0f2