public static GameObject CreateClientFruiton(int id, GameObject parent) { FruitonDatabase fruitonDatabase = GameManager.Instance.FruitonDatabase; Fruiton kernelFruiton = FruitonFactory.makeFruiton(id, fruitonDatabase); var newFruitonObject = UnityEngine.Object.Instantiate(Resources.Load("Models/Battle/BoyFighter", typeof(GameObject))) as GameObject; newFruitonObject.GetComponentInChildren <SkeletonAnimation>().skeleton.SetSkin(kernelFruiton.model); newFruitonObject.AddComponent <ClientFruiton>().KernelFruiton = kernelFruiton; newFruitonObject.transform.parent = parent.transform; return(newFruitonObject); }
public static IEnumerable <Fruiton> CreateAllKernelFruitons() { FruitonDatabase fruitonDatabase = GameManager.Instance.FruitonDatabase; var result = new List <Fruiton>(); foreach (int key in fruitonDatabase.fruitonDb._keys) { // This check is here because Haxe IntMap may also contain invalid key-value pairs, which can be recognised by the fact that their key is 0. if (key == 0) { continue; } result.Add(FruitonFactory.makeFruiton(key, fruitonDatabase)); } return(result); }
/// <summary> /// Loads fruiton team and displays it on the grid. /// </summary> /// <param name="team">team to load</param> /// <param name="dbFridgeMapping">fruiton id to fridge fruiton game object map</param> public void LoadTeam(FruitonTeam team, Dictionary <int, FridgeFruiton> dbFridgeMapping) { ClearFruitons(); if (dbFridgeMapping != null) { List <int> availableFruitons = GameManager.Instance.AvailableFruitons; foreach (var fruiton in GameManager.Instance.AllPlayableFruitons) { var dbId = fruiton.dbId; dbFridgeMapping[dbId].Count = availableFruitons.Count(id => id == dbId); } } // reset background color of every square for (var x = 0; x < gridSquares.GetLength(0); x++) { for (var y = 0; y < gridSquares.GetLength(1); y++) { gridSquares[x, y].ResetDefaultBgColor(); gridSquares[x, y].CancelHighlight(); } } for (int i = 0; i < team.FruitonIDs.Count; i++) { var fruitonId = team.FruitonIDs[i]; var pos = team.Positions[i]; var kernelFruiton = FruitonFactory.makeFruiton(fruitonId, GameManager.Instance.FruitonDatabase); var x = IsMirrored ? 1 - pos.Y : pos.Y; var y = pos.X - 2; if (dbFridgeMapping != null && --dbFridgeMapping[fruitonId].Count < 0) { // set background color of squares containing not owned fruitons to red gridSquares[x, y].SetSecondaryBgColorAsDefault(); gridSquares[x, y].CancelHighlight(); } gridSquares[x, y].SetFruiton(kernelFruiton); } }