private void button1_Click(object sender, EventArgs e) { PlayerDef player = Players[0]; cmbPlayers.Items.Add(player.Name); Players.Add(player); }
public CharacterLogic(PlayerDef def) { characterDef = def; careerDef = ResourceManager.GetCareerDef(characterDef.Career); Info = new CharacterInfo(def); BattleInfo = new CharacterBattleInfo(); }
public Player(Enemy enemy) { refEnemy = enemy; def = enemy.player.def; def.type = PlayerDef.Type.AI; BaseInit(); }
private void lstPlayers_SelectionChanged(MySelectableListItem lastSelected, MySelectableListItem newSelected) { if (lastSelected != newSelected) { if (lastSelected != null) { object[] data = lastSelected.CustomData as object[]; Label lbl = data[1] as Label; lbl.Background = Brushes.Transparent; lbl.InvalidateVisual(); } if (newSelected != null) { object[] data = newSelected.CustomData as object[]; Label lbl = data[1] as Label; lbl.Background = selected; lbl.InvalidateVisual(); PlayerDef pd = data[0] as PlayerDef; using (var d = lstTriggers.Dispatcher.DisableProcessing()) { lstTriggers.Clear(); List <UIElement> items = new List <UIElement>(); List <Trigger> trigs = Triggers.TriggerData[pd]; foreach (Trigger trig in trigs) { InsertTriggerIntoTheVisualList(trig); } } } } }
private void ParsePlayerFile(Stream input) { PlayerNames = Names.GetTextFile("Strikers2013Editor.Common.playerNames.txt"); using (var br = new BeBinaryReader(input)) { DataBackup = br.ReadBytes(0xFA4); br.BaseStream.Position = 0x10; var count = br.ReadInt32(); br.BaseStream.Position = 0xFA4; Players = new List <PlayerDef>(); for (var i = 1; i < count; i++) { if (br.BaseStream.Position > br.BaseStream.Length - 0x148) { break; } var player = new PlayerDef(br); Players.Add(player); if (i < PlayerNames.Length) { cmbPlayers.Items.Add(PlayerNames[i]); } else { cmbPlayers.Items.Add(player.Name); } } } }
public void OnEnable() { player = target as PlayerDef; base.InitTarget(player); weaponCount = player.DefaultWeapons.Count; skillCount = player.DefaultSkills.Count; }
public void OnUpdate() { if (DualityApp.Gamepads[PlayerDef.AssignedGamepad].LeftThumbstick.X < -Constants.Instance.GamepadDeadband) { if (!_colorChanged) { PlayerDef.PrevColor(); } _colorChanged = true; } else if (DualityApp.Gamepads[PlayerDef.AssignedGamepad].LeftThumbstick.X > Constants.Instance.GamepadDeadband) { if (!_colorChanged) { PlayerDef.NextColor(); } _colorChanged = true; } else { _colorChanged = false; } if (DualityApp.Gamepads[PlayerDef.AssignedGamepad].ButtonHit(GamepadButton.A)) { PlayerReady = !PlayerReady; } }
public Game(byte[] data, int startindex) // Deserialize { int pos = startindex + 2; int len = data[pos]; Name = System.Text.Encoding.UTF8.GetString(data, pos + 1, len); pos += len + 1; Difficulty = data[pos + 0]; NumPlayers = data[pos + 1]; NumJoined = data[pos + 2]; NumAIs = data[pos + 3]; Status = (GameStatus)data[pos + 4]; pos += 5; Creator = new PlayerDef(data, pos + 1); pos += data[pos] + 1; Winner = new PlayerDef(data, pos + 1); pos += data[pos] + 1; long time = BitConverter.ToInt64(data, pos); CreationTime = DateTime.FromBinary(time); pos += 8; rndSeed = BitConverter.ToInt32(data, pos); pos += 4; multiplayer = data[pos] != 0; nump = 0; Players = new PlayerDef[6]; }
private void InitializePlayerSummary(object sender, EventArgs e) { var textBlock = (TextBlock)sender; var player = textBlock.DataContext as Player; if (player != null && player.IsGlobalPlayer) { textBlock.Visibility = Visibility.Collapsed; return; } PlayerDef def = Program.Game.Definition.PlayerDefinition; string format = def.IndicatorsFormat; if (format == null) { textBlock.Visibility = Visibility.Collapsed; return; } var multi = new MultiBinding(); int placeholder = 0; format = Regex.Replace(format, @"{#([^}]*)}", delegate(Match match) { string name = match.Groups[1].Value; if (player != null) { Counter counter = player.Counters.FirstOrDefault( c => c.Name == name); if (counter != null) { multi.Bindings.Add(new Binding("Value") { Source = counter }); return("{" + placeholder++ + "}"); } } if (player != null) { Group group = player.IndexedGroups.FirstOrDefault( g => g.Name == name); if (@group != null) { multi.Bindings.Add(new Binding("Count") { Source = @group.Cards }); return("{" + placeholder++ + "}"); } } return("?"); }); multi.StringFormat = format; textBlock.SetBinding(TextBlock.TextProperty, multi); }
private void refershListAndKeepSelection(Trigger trigDef, PlayerDef pselPld) { updateLists(); int index = 0; bool found = false; // Check if trigger is still under selected player list if (trigDef != null) { if (!trigDef.getAffectedPlayers().Contains(pselPld)) // Select another player who has this trigger (the first one) { pselPld = trigDef.getAffectedPlayers()[0]; } } // Find the player and activate it foreach (MySelectableListItem pl in lstPlayers.GetAllItems()) { PlayerDef pld = ((object[])pl.CustomData)[0] as PlayerDef; if (pld == pselPld) { lstPlayers.SelectedIndex = index; found = true; break; } index++; } if (!found) { // Should never happen if (lstPlayers.GetAllItems().Count == 0) { lstTriggers.Clear(); return; } else { lstPlayers.SelectedIndex = 0; lstTriggers.Clear(); return; } } else { // Select trigger now index = 0; foreach (MySelectableListItem trg in lstTriggers.GetAllItems()) { Trigger trig = ((object[])trg.CustomData)[1] as Trigger; lstTriggers.SelectedIndex = index; if (trig == trigDef) { break; } index++; } } }
public void SetDataFromDef(PlayerDef DefaultData) { logic = new CharacterLogic(DefaultData); logic.careerDef = ResourceManager.GetCareerDef(logic.characterDef.Career); if (logic.careerDef == null) { Debug.LogError("不存在的career def"); } }
public static RPGPlayer Create(int id, CharacterAttribute customAttribute = null) { PlayerDef def = ResourceManager.GetPlayerDef(id); RPGPlayer r = new RPGPlayer(def); if (customAttribute != null) { r.logic.SetAttribute(customAttribute); } return(r); }
public CharacterInfo(PlayerDef def) { ID = def.CommonProperty.ID; Level = def.DefaultLevel; Exp = 0; Career = def.Career; Attribute = def.DefaultAttribute; CurrentHP = Attribute.HP; MaxHP = Attribute.HP; Items = new ItemGroup(def.DefaultWeapons); Skills = new SkillGroup(def.DefaultSkills); }
// Start is called before the first frame update void Start() { playerMovement = GetComponent <PlayerMovement>(); player = GetComponent <Player>(); playerAttack = GetComponent <PlayerAttack>(); playerDef = GetComponent <PlayerDef>(); if (player != null) { playerNum = player.playerNum; } }
public static PlayerDef CreateProps() { int count = ScriptableObjectUtility.GetFoldFileCount(DIRECTORY_PATH); PlayerDef character = ScriptableObjectUtility.CreateAsset <PlayerDef>( count.ToString(), DIRECTORY_PATH, true ); character.CommonProperty.ID = count; character.CommonProperty.Name = ""; return(character); }
private void UpdateCurrentDef(PlayerDef next) { if (_characterPreview != null) { Destroy(_characterPreview); _characterPreview = null; } _currentDef = next; if (_currentDef != null) { _characterPreview = Instantiate(_currentDef.UIPreviewPrefab); _characterPreview.transform.parent = Platform.transform; _characterPreview.transform.localPosition = Vector3.zero; _characterPreview.transform.localRotation = Quaternion.identity; } }
public PlayerDef toPlayerDef() { if (this is NumToken) { int index = this.toInt(); return(PlayerDef.getByIndex(index)); } else if (this is StringToken) { foreach (PlayerDef pd in PlayerDef.AllPlayers) { if (pd.GroupName.Equals(this.content)) { return(pd); } } } throw new NotImplementedException(); }
public void Init(int index, CharacterInfo ch, int state)//此处确定必须出场和不允许出场的人物,必须出场的放到最前面,不允许出场的强制放到最后面 { this.index = index; this.state = state; PlayerDef def = ResourceManager.GetPlayerDef(ch.ID); icon.sprite = def.Portrait; charname.text = def.CommonProperty.Name; job.text = ch.Career.ToString(); lv.text = ch.Level.ToString(); exp.text = ch.Exp.ToString(); mhp.text = ch.Attribute.HP.ToString(); //初始状态由父类中的count决定 如果已经大于最大出场人物,则后面的人物都显示为灰的 if (state == (int)toBattle.ForceNo) { bEnable = false; charname.color = disable_color; } if (state == (int)toBattle.ForceYes) { bEnable = true; SelectToBattlePanel.selectToBattle.currentSelectCount++; charname.color = forceYes_color; } if (state == (int)toBattle.UserDefine) { if (index >= SelectToBattlePanel.selectToBattle._limit) { charname.color = disable_color; bEnable = false; } else { charname.color = enable_color; bEnable = true; SelectToBattlePanel.selectToBattle.currentSelectCount++; } } }
public void InitEnemiesSingleplayer(Game theGame, Transform selectedEnemies) // This is for singleplayer { game = theGame; GD.InitRandomGenerator(theGame.rndSeed); currentVals = new GameValues(theGame.Name); nump = 0; Enemy enemy; foreach (Transform p in selectedEnemies) { enemy = p.GetComponent <Enemy>(); enemy.player.def.id = GD.GetIDForAI(enemy.player.def.name); enemy.player.def.avatar = GD.GetAvatarForAI(enemy.player.def.name); players[nump] = new Player(enemy); game.AddPlayer(players[nump].def); nump++; } enemy = GD.instance.PlayersBase[0].GetComponent <Enemy>(); enemy.player = new Player(GD.thePlayer.player.def); players[nump] = new Player(enemy); game.AddPlayer(players[nump].def); nump++; enemy.SetEnemyAsPlayer(GD.thePlayer.Name, GD.thePlayer.Avatar, GD.thePlayer.ID); // Randomize the positions for (int i = 0; i < 1000; i++) { int a = GD.GetRandom(0, nump); int b = GD.GetRandom(0, nump); Player tmpe = players[a]; players[a] = players[b]; players[b] = tmpe; PlayerDef tmpsp = game.Players[a]; game.Players[a] = game.Players[b]; game.Players[b] = tmpsp; } SharedInit(); }
private bool parsePlayerNames() { Token t = getNextToken(); if (t is CommandToken) { CommandToken ct = t as CommandToken; if (ct.isPlayers()) { if (getNextToken() is LeftBracket) { Token num = getNextToken(); if (num is NumToken) { if (getNextToken() is RightBracket) { if (getNextToken() is Colon) { int playersCount = num.toInt(); for (int i = 0; i < playersCount; i++) { Token playerName = getNextToken(); if (playerName is StringToken) { PlayerDef.__setPlayerNameDontUseOutsideOfParser(i, ((StringToken)playerName).toStringDef().ToString()); } else { throw new NotImplementedException(); } } return(true); } } } } } } throw new NotImplementedException(); }
private void btnNewTrigger_Click(object sender, RoutedEventArgs e) { Trigger newTrig = new StarcraftEPDTriggers.Trigger(); MySelectableListItem item = lstPlayers.CurrentlySelected; if (item != null) { PlayerDef pd = ((object[])item.CustomData)[0] as PlayerDef; newTrig.getAffectedPlayers().Add(pd); } new WndModify(newTrig, Triggers, (Trigger trig) => { Triggers.TriggerCreated(trig); MySelectableListItem timSel = lstPlayers.CurrentlySelected; PlayerDef pd = null; if (timSel != null) { pd = ((object[])timSel.CustomData)[0] as PlayerDef; } refershListAndKeepSelection(trig, pd); UnsavedChanges = true; }); }
private NetworkManager.ServerMessage ReceivePlayersList(byte[] data, int len) { try { /* * GAMELIST * 4 digits num players registered on the server * [ each player in full mode] */ if (len < 4) { return(null); } int num = BitConverter.ToInt32(data, 0); List <PlayerDef> res = new List <PlayerDef>(); int pos = 4; for (int i = 0; i < num; i++) { PlayerDef p = new PlayerDef(data, pos); res.Add(p); pos += p.GetDataLength(); } return(new NetworkManager.ServerMessage { type = ServerMessages.PlayersList, playerList = res }); } catch (IOException e) { return(new NetworkManager.ServerMessage { type = ServerMessages.Error, message = "IOException: " + e.Message, playerList = null });; } catch (SocketException e) { return(new NetworkManager.ServerMessage { type = ServerMessages.Error, message = "SocketException: " + e.Message, playerList = null });; } catch (Exception e) { return(new NetworkManager.ServerMessage { type = ServerMessages.Error, message = "Exception: " + e.Message, playerList = null });; } }
private void updateLists() { lstPlayers.Clear(); List <MySelectableListItem> pls = new List <MySelectableListItem>(); foreach (KeyValuePair <PlayerDef, List <Trigger> > subList in Triggers.TriggerData) { PlayerDef key = subList.Key; List <Trigger> value = subList.Value; if (value.Count > 0) // Category not empty { Label lbl = new Label(); lbl.Content = key.ToString(); pls.Add(new MySelectableListItem(new object[] { key, lbl }, lbl)); } } pls.Sort((MySelectableListItem item1, MySelectableListItem item2) => String.Compare(item1.ToString(), item2.ToString())); foreach (MySelectableListItem item in pls) { lstPlayers.Add(item); } //File.WriteAllText("gen.txt", getSaveString()); }
private void refershListAndKeepSelection() { MySelectableListItem selectedTrigger = lstTriggers.CurrentlySelected; MySelectableListItem selectedPlayer = lstPlayers.CurrentlySelected; if (selectedTrigger != null) { Trigger trigDef = ((object[])selectedTrigger.CustomData)[1] as Trigger; PlayerDef pselPld = null; if (selectedPlayer == null) { if (trigDef.getAffectedPlayers().Count == 0) { updateLists(); lstTriggers.Clear(); return; } pselPld = trigDef.getAffectedPlayers()[0]; } else { pselPld = ((object[])selectedPlayer.CustomData)[0] as PlayerDef; } refershListAndKeepSelection(trigDef, pselPld); } else // No selected trigger { if (selectedPlayer == null) // No selected player { updateLists(); lstTriggers.Clear(); return; } PlayerDef pselPld = ((object[])selectedPlayer.CustomData)[0] as PlayerDef; refershListAndKeepSelection(null, pselPld); } }
public Game(string name, Player player, int difficulty, int numplayers, int numais) { Name = name; Creator = player.def; Difficulty = difficulty; NumPlayers = numplayers; NumAIs = numais; NumJoined = 1; Winner = new PlayerDef(); Status = GameStatus.Waiting; CreationTime = DateTime.Now; nump = 1; Players = new PlayerDef[6]; Players[0] = player.def; while (NumPlayers + NumAIs > 6) { NumAIs--; } byte[] ID = new byte[8]; byte[] d = System.Text.Encoding.UTF8.GetBytes(Name); for (int i = 0; i < d.Length; i++) { ID[i % 8] = (byte)(ID[i % 8] ^ d[i]); } ID[0] = (byte)(ID[0] ^ NumPlayers); ID[1] = (byte)(ID[1] ^ NumAIs); ID[2] = (byte)(ID[2] ^ Difficulty); d = BitConverter.GetBytes(CreationTime.Ticks); for (int i = 0; i < d.Length; i++) { ID[i % 8] = (byte)(ID[i % 8] ^ d[i]); } id = BitConverter.ToUInt64(ID, 0); }
private Condition GetCondition(CommandToken ct) { int position = ct.getPosition(); if (ct.isAccumulate()) { return(new ConditionAccumulate(this)); } else if (ct.isAlways()) { return(new ConditionAlways(this)); } else if (ct.isBring()) { return(new ConditionBring(this)); } else if (ct.isCommand()) { return(new ConditionCommand(this)); } else if (ct.isCommandTheLeast()) { return(new ConditionCommandTheLeast(this)); } else if (ct.isCommandTheLeastAt()) { return(new ConditionCommandTheLeastAt(this)); } else if (ct.isCommandTheMost()) { return(new ConditionCommandTheMost(this)); } else if (ct.isCommandsTheMostAt()) { return(new ConditionCommandsTheMostAt(this)); } else if (ct.isCountdownTimer()) { return(new ConditionCountdownTimer(this)); } else if (ct.isDeaths()) { ConditionDeaths d = new ConditionDeaths(this); UnitVanillaDef unit = d.getUnitDef(); PlayerDef player = d.getPlayerDef(); IntDef amount = d.getAmount(); Quantifier q = d.getQuantifier(); if (unit.getIndex() > unit.getMaxValue()) // EUD Condition { int pid = player.getIndex(); int uid = unit.getIndex(); int oid = amount.getIndex(); int addr = (uid * 12) + pid; ConditionMemory cm = new ConditionMemory(new DummyParser(new Token[] { new LeftBracket(position), new NumToken(addr.ToString(), position), new Comma(position), new CommandToken(q.ToString(), position), new Comma(position), new NumToken(oid.ToString(), position), new RightBracket(position) })); EPDCondition cond = EPDCondition.get(cm); if (cond != null) { return(cond); } return(cm); } return(d); } else if (ct.isElapsedTime()) { return(new ConditionElapsedTime(this)); } else if (ct.isHighestScore()) { return(new ConditionHighestScore(this)); } else if (ct.isKill()) { return(new ConditionKill(this)); } else if (ct.isLeastKills()) { return(new ConditionLeastKills(this)); } else if (ct.isLeastResources()) { return(new ConditionLeastResources(this)); } else if (ct.isLowestScore()) { return(new ConditionLowestScore(this)); } else if (ct.isMostKills()) { return(new ConditionMostKills(this)); } else if (ct.isMostResources()) { return(new ConditionMostResources(this)); } else if (ct.isNever()) { return(new ConditionNever(this)); } else if (ct.isOpponents()) { return(new ConditionOpponents(this)); } else if (ct.isScore()) { return(new ConditionScore(this)); } else if (ct.isSwitch()) { return(new ConditionSwitch(this)); } else if (ct.isMemory()) { ConditionMemory cm = new ConditionMemory(this); EPDCondition cond = EPDCondition.get(cm); if (cond != null) { return(cond); } return(cm); } else if (ct.isCustom()) { return(new ConditionCustom(this)); } throw new NotImplementedException(); }
public Player(PlayerDef playerDef) { def = playerDef; BaseInit(); }
internal void Init(Enemy enemy, Player p) { refEnemy = enemy; def = new PlayerDef(p.def.id, p.def.name, p.def.avatar); BaseInit(); }
void Awake() { instance = this; }
/// <summary> /// 仅添加数据 /// </summary> public void AddPlayerLogic(PlayerDef def) { CharacterLogic logic = new CharacterLogic(def); players.PlayersLogic.Add(logic); }