public void AddScores(int scoresToAdd, float3 worldPosition, AddScoreType type) { if (type == AddScoreType.NormalCoin || type == AddScoreType.CoinFromBlock) { throw new ArgumentException("Use AddCoin instead."); } AddScores_Internal(scoresToAdd, worldPosition, type); }
private void AddScores_Internal(int scoresToAdd, float3 worldPosition, AddScoreType type) { Assert.AreNotEqual(scoresToAdd, 0); Log.Info($"[PlayerDataManager.AddScores_Internal] scoresToAdd = {scoresToAdd}, worldPosition = {worldPosition}, type = {type}"); Scores += scoresToAdd; var eventArgs = GameEntry.Instance.RefPool.GetOrAdd <AddScoreEventArgs>().Acquire(); eventArgs.ScoresToAdd = scoresToAdd; eventArgs.WorldPosition = worldPosition; eventArgs.Type = type; GameEntry.Instance.Event.SendEvent(this, eventArgs); }