public string AddStoreInfosToUsableItem(Data_Item item, UI_StoreItemDisplayV2 itemUi, bool isHidden) { if (!data.moreInfosInUseableShops || isHidden) { return(string.Empty); } Data_InventoryItem invItem = item as Data_InventoryItem; if (invItem == null || invItem.ItemType != InventoryItemTypes.Useable) { return(string.Empty); } int playerId = UI_StoreScreenV2.Instance.CurrentShopper; PlayerCharacters playerChar = PlayerManager.Instance.Players[playerId].PlayerCharacter; bool haveConsumed = PlayerGlobalInventory.instance.HaveYouConsumedThis(item, playerChar); itemUi.ToggleAlreadyPurchased(haveConsumed, true); if (invItem.ItemName == "ITEM_NAME_NOIZE_FIGURE") { return(" +1 ALL"); } return(string.Format("{0}{1}{2}{3}{4}{5}", invItem.Stat_ST > 0 ? string.Format(" +{0} ST", invItem.Stat_ST) : string.Empty, invItem.Stat_SP > 0 ? string.Format(" +{0} SP", invItem.Stat_SP) : string.Empty, invItem.Stat_AG > 0 ? string.Format(" +{0} AG", invItem.Stat_AG) : string.Empty, invItem.Stat_WP > 0 ? string.Format(" +{0} WP", invItem.Stat_WP) : string.Empty, invItem.Stat_AT > 0 ? string.Format(" +{0} AT", invItem.Stat_AT) : string.Empty, invItem.Stat_LK > 0 ? string.Format(" +{0} LK", invItem.Stat_LK) : string.Empty )); }
void CharacterSetup() { Vector2 tPos, mPos, vPos; tPos = new Vector3(2, 0, 0f); mPos = new Vector3(0, 0, 0f); vPos = new Vector3(1, 0, 0f); PlayerCharacters t = tank.GetComponent <PlayerCharacters>(); t.setCharacter(0); t.x = (int)tPos.x; t.y = (int)tPos.y; Instantiate(tank, tPos, Quaternion.identity); PlayerCharacters m = mage.GetComponent <PlayerCharacters>(); m.setCharacter(1); m.x = (int)mPos.y; m.y = (int)mPos.y; Instantiate(mage, mPos, Quaternion.identity); PlayerCharacters v = vampire.GetComponent <PlayerCharacters>(); v.setCharacter(2); v.x = (int)vPos.x; v.y = (int)vPos.y; Instantiate(vampire, vPos, Quaternion.identity); }
void Awake() { if (Singleton == null) { Singleton = this; } var previous_default = transform.Find(DefaultCharacterName); if (previous_default != null) { Destroy(previous_default.gameObject); } var go_default = Instantiate(Default, transform); go_default.name = DefaultCharacterName; CurrentCharacter = go_default.GetComponent <PlayerCharacter>(); CurrentCharacter.Data = new PlayerCharacterData { Name = DefaultCharacterName, Id = 0 }; Load(0); if (Entries.Length == 0) { Entries = new PlayerCharacterData[1]; Entries[0] = CurrentCharacter.Data; Save(0); } for (int i = 1; i < Entries.Length; i++) { CreateEntry(i); } }
public DbPlayerCharactersObject GetByLogin(string inlogin) { string login = inlogin.ToLower(); var query = Query <DbPlayerCharactersObject> .EQ(player => player.Login, login); return(PlayerCharacters.FindOne(query)); }
private void SortPlayerCharacters() { ObservableCollection <Character> sorted; sorted = new ObservableCollection <Character>(PlayerCharacters.OrderBy(c => c.Name)); PlayerCharacters = sorted; }
public PlayerCharacterScores(PlayerCharacters p) { this.Name = p.Name; this.Owner = p.Owner; this.Class = p.Class; this.IsMain = p.IsMain; this.IsInactive = p.IsInactive; this.IsSocial = p.IsSocial; this.UserID = p.UserID; this.Comment = p.Comment; }
public void DisplayHitDamage(CombatEntity victim, CombatEntity attacker, DamageInfo damageInfo, float dmg, bool hasBombBraEffect) { if (!data.displayDamageOnHit || victim.CharacterSprite == null || dmg <= 0f) { return; } float ratio = 0.5f; if (attacker != null) { RCG.Player player = attacker as RCG.Player; if (player != null) { PlayerCharacters pc = PlayerManager.Instance.Players[player.PlayerID].ClassNameToPlayerCharacter; if (hasBombBraEffect) { ratio = 1f; } int current = damageInfo.DamageAmount; int min = current; int max = current; for (int i = 0; i < player.CharacterDescription.MovesList.Count; i++) { int baseDmg = player.CharacterDescription.MovesList[i].DamageInfo.DamageAmount; if (baseDmg <= 0) { continue; } if (min > baseDmg) { min = baseDmg; } if (max < baseDmg) { max = baseDmg; } } ratio = Mathf.InverseLerp((float)min, (float)max, (float)current); } else { ratio = Mathf.InverseLerp(0.05f, 0.4f, Mathf.CeilToInt(dmg) / (float)(victim.Stamina + Mathf.CeilToInt(dmg))); } } int scaledFontSize = Mathf.RoundToInt(Mathf.Lerp(data.hitDmgTextFontSizeMin, data.hitDmgTextFontSizeMax, ratio)); DisplayCustomTextAbove(victim, string.Format("{0}{1}", Mathf.CeilToInt(dmg), hasBombBraEffect ? "!" : ""), true, data.hitDmgTextColor, scaledFontSize); }
private void OnMouseDown() { GameObject text = GameObject.Find("Info"); Text t2 = (Text)text.GetComponent(typeof(Text)); GameObject pc = GameObject.FindWithTag("SelectedPlayer"); PlayerCharacters pcc = pc.GetComponent <PlayerCharacters>(); pcc.hasMoved = true; t2.text += "\n<color=#008000ff>" + pcc.getName() + "</color> moved to " + x + ", " + y; pcc.x = x; pcc.y = y; pc.transform.position = new Vector3(x, y, 0); clearHighlights(); }
public Character GetCharacter(int position) { if (position < 5) { return(PlayerCharacters.ElementAt(position)); } else { if (Enemies.Count > position - 5) { return(Enemies.ElementAt(position - 5)); } return(null); } }
public void EndTurn() { if (GameObject.FindWithTag("SelectedPlayer") != null) { GameObject.FindWithTag("SelectedPlayer").tag = "Player"; } GameObject[] characterObjects = GameObject.FindGameObjectsWithTag("Player"); foreach (GameObject characterObject in characterObjects) { PlayerCharacters character = characterObject.GetComponent <PlayerCharacters>(); character.hasMoved = false; character.hasActed = false; } EnemyTurn(); }
public void ChangeTurn(int turn, Client cli) { SetPlayerArrow(turn); CheckWinner(); ClearTurn(); indexTurn = turn; _currentPlayer = Players[indexTurn]; Debug.Log(_currentPlayer.gameObject.name + " " + indexTurn); int curChar = _currentPlayer.CharacterTurn(); cli.Send(CommandReader.SendCommand(Command.START_TURN, Sender.CLIENT, _currentPlayer.ID.ToString(), curChar.ToString(), "0", 0)); Debug.Log("SEND TURN START CALLED!!!"); BlockMouseSelection(turn); }
private void AddCharacterToPlayer() { try { PlayerCharacters.Add(_addSelectedCharacter); } catch { ObservableCollection <Character> playerCharacters = new ObservableCollection <Character>(); playerCharacters.Add(AddSelectedCharacter); PlayerCharacters = playerCharacters; } SortPlayerCharacters(); }
private void MoveEnemyNext2Player(NonPlayerCharacters enemy, PlayerCharacters player) { int x, y; x = player.x + 1; y = player.y; int distance = System.Math.Abs(x - enemy.x) + System.Math.Abs(y - enemy.y); if (distance <= enemy.moveRange) { enemy.x = x; enemy.y = y; enemy.gameObject.transform.position = new Vector3(x, y, 0); return; } x = player.x - 1; y = player.y; distance = System.Math.Abs(x - enemy.x) + System.Math.Abs(y - enemy.y); if (distance <= enemy.moveRange) { enemy.x = x; enemy.y = y; enemy.gameObject.transform.position = new Vector3(x, y, 0); return; } x = player.x; y = player.y + 1; distance = System.Math.Abs(x - enemy.x) + System.Math.Abs(y - enemy.y); if (distance <= enemy.moveRange) { enemy.x = x; enemy.y = y; enemy.gameObject.transform.position = new Vector3(x, y, 0); return; } x = player.x; y = player.y - 1; distance = System.Math.Abs(x - enemy.x) + System.Math.Abs(y - enemy.y); if (distance <= enemy.moveRange) { enemy.x = x; enemy.y = y; enemy.gameObject.transform.position = new Vector3(x, y, 0); return; } }
/// <summary> /// Gets the Id of the player character who will be taking it's turn next. /// If the currently acting character is a player character, return it. /// </summary> /// <returns>The Id of the next player character to act.</returns> public int GetNextActivePlayerId() { foreach (var character in CurrentRoundOrder) { if (PlayerCharacters.Contains(character) && character.CurrentHealth > 0) { return(character.Id); } } foreach (var character in NextRoundOrder) { if (PlayerCharacters.Contains(character) && character.CurrentHealth > 0) { return(character.Id); } } return(-1); }
public void Attack() { GameObject playerObj = GameObject.FindWithTag("SelectedPlayer"); PlayerCharacters player = playerObj.GetComponent <PlayerCharacters>(); GameObject[] enemies = GameObject.FindGameObjectsWithTag("Enemy"); foreach (GameObject enemyObject in enemies) { NonPlayerCharacters enemy = enemyObject.GetComponent <NonPlayerCharacters>(); int distanceToEnemy = System.Math.Abs(player.x - enemy.x) + System.Math.Abs(player.y - enemy.y); if (distanceToEnemy <= player.attackRange) { AttackFields f = attackField.GetComponent <AttackFields>(); f.player = player; f.enemy = enemy; Instantiate(f, new Vector3(enemy.x, enemy.y, 0f), Quaternion.identity); } } }
private void OnDelete() { PlayerCharacters.Remove(DeleteSelectedCharacter); }
public void EnemyTurn() { GameObject text = GameObject.Find("Info"); Text t2 = (Text)text.GetComponent(typeof(Text)); GameObject[] enemies = GameObject.FindGameObjectsWithTag("Enemy"); foreach (GameObject enemyObject in enemies) { NonPlayerCharacters enemy = enemyObject.GetComponent <NonPlayerCharacters>(); GameObject[] characterObjects = GameObject.FindGameObjectsWithTag("Player"); PlayerCharacters closestCharacter = null; int distance2ClosestChar = 1000; foreach (GameObject characterObject in characterObjects) { PlayerCharacters character = characterObject.GetComponent <PlayerCharacters>(); int distance = System.Math.Abs(character.x - enemy.x) + System.Math.Abs(character.y - enemy.y); if (!alerted && distance < 6) { t2.text += "\nThe knight screams:\"Demons! Cultists! Tax-Evaders! Ready your arms men!\""; t2.text += "\nYou have alerted the order of the fifth dawn."; alerted = true; } if (distance < distance2ClosestChar) { distance2ClosestChar = distance; closestCharacter = character; } } if (alerted) { if (distance2ClosestChar <= enemy.moveRange + 1) { MoveEnemyNext2Player(enemy, closestCharacter); float roll = Random.Range(0.0f, 100.0f); if (roll >= 50) { int damage = (enemy.damage - closestCharacter.defence); closestCharacter.health -= damage; if (closestCharacter.health > 0) { t2.text += "\n<color=#008000ff>" + enemy.name + "</color> attacked <color=#F62D2DFF>" + closestCharacter.name + "</color> and did <b>" + damage + "</b>"; } else { t2.text += "\nIn an act guided by the fifth dawn itself<color=#008000ff>" + enemy.name + "</color> kills <color=#F62D2DFF>" + closestCharacter.name + "</color>. It is a good day to be good!"; Destroy(closestCharacter.gameObject); } } else { t2.text += "\nThe knight stumbled and fell over his sword! You laugh and spit on him!"; } } else { int movement = enemy.moveRange; Vector3 goHere = new Vector3(enemy.x, enemy.y, 0); while (movement > 0) { if (closestCharacter.x != goHere.x) { goHere.x += Math.Sign(closestCharacter.x - goHere.x); } else { goHere.y += Math.Sign(closestCharacter.y - goHere.y); } movement -= 1; } enemy.x = (int)goHere.x; enemy.y = (int)goHere.y; enemy.gameObject.transform.position = goHere; } } } }
/// <summary> /// Checks if it is the player's turn. /// </summary> /// <returns></returns> public bool IsPlayerTurn() { return(PlayerCharacters.Contains(CurrentRoundOrder[0])); }
// Assign our UI elements and I get our stats setup from here too since that // needs to be done after getting our player number. This gets called from // Manager_Game after it creates us. public void CreatedSetup(int playerNumber) { PlayerNumber = playerNumber; healthSlider = Manager_UI.instance.plHealthSlider[playerNumber - 1]; healthFill = Manager_UI.instance.plHealthSliderFill[playerNumber - 1]; myCharacter = Manager_Game.PlayersChosen[playerNumber - 1]; string myCharName = myCharacter.ToString(); if (myCharName.Contains("Twin")) // A twin variant character { if (myCharName.Contains("Ethan")) // Red version of Ethan's suit. mySkinnedMeshes[1].materials[0].mainTexture = mySkinnedMeshes[4].materials[0].mainTexture = bodyTextures[1]; else if (myCharName.Contains("Dude")) mySkinnedMeshes[2].materials[1].mainTexture = bodyTextures[1]; // Lighter-colored version of Unity Guy's suit. } string myName = myCharacter.ToString(); myName = myName.Replace('_', ' '); // Remove any '_' in the character's name. Manager_UI.instance.plNameText[playerNumber - 1].text = myName; int subtract = playerNumber > 1 ? playerNumber - Manager_Game.playersDefeated.Count : 1; ControlSetup (subtract); GetStats (); }
/// <summary> /// Returns an IEnumerable containing the Ids of all the player's characters /// </summary> /// <returns></returns> public IEnumerable <int> GetPlayerCharacterIds() { return(PlayerCharacters.Select(character => character.Id)); }