public void GiveStatToPlayers() { foreach (var player in sys.playerSystemGroup.playerSpawnSystem.controllers.Values) { Stats stats = EntityManager.GetComponentData <Stats>(player); int didAdd = stats.AddStat(stat); if (didAdd != -1) { EntityManager.SetComponentData(player, stats); } } }
private void OnInitButtonClicked(StatDatam statDatam, Button initButton, VisualElement buttonA, VisualElement buttonB, Foldout statsFoldout) { Stats stats = (Stats)cachedProperty.GetValue(); int statIndex = stats.GetStatIndex(statDatam); if (statIndex == -1) { statIndex = stats.AddStat(statDatam); } else { //Debug.LogError("Removing Stat at: " + statIndex); stats.RemoveStat(statDatam, statIndex); statIndex = -1; } if (buttonA != null) { SetVisibility(buttonA, statIndex != -1); SetVisibility(buttonB, statIndex != -1 && statDatam.type != StatType.Base); //buttonA.visible = statIndex != -1; //buttonB.visible = statIndex != -1 && statDatam.type != StatType.Base; } else { Debug.LogError("Lambda has nulled button reference."); } /*if (statIndex == -1) * { * initButton.text = "Add " + statDatam.name + ""; * statsFoldout.text = statDatam.name + " (0)"; // "[" + statDatam.Value.id + "] " + * } * else * { * initButton.text = "Remove " + statDatam.name; * statsFoldout.text = statDatam.name + " (X)"; // "[" + statDatam.Value.id + "] " + * }*/ SetStatLabel(statsFoldout, statDatam, initButton, statIndex != -1); cachedProperty.SetValue(stats); }