示例#1
0
    void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.CompareTag("ScoreObject"))
        {
            // Copy an instance of the score object
            ScoreObject scoreObject = other.gameObject.GetComponent(typeof(ScoreObject)) as ScoreObject;
            if (scoreObject.isClaimed == false)
            {
                scoreObject.isClaimed = true;

                // Add score value from object
                scoreCount += scoreObject.GetScoreValue();
                // Update score in UI
                SetScoreText();
                // Display score number as 3D text
                DisplayScore(scoreObject.GetScoreValue(), scoreObject.transform.position);

                // Scale down object
                scoreObject.transform.localScale -= new Vector3(0.75f, 0.75f, 0.75f);

                // Move object to player basket
                Rigidbody rb = other.gameObject.GetComponent(typeof(Rigidbody)) as Rigidbody;
                rb.transform.position = GameObject.Find("Basket").transform.position;
                rb.isKinematic        = false;
                rb.velocity           = playerRb.velocity;
                other.isTrigger       = false;
            }
        }
    }
示例#2
0
	public void AddHighScore(string playerName, int score)
	{
		if(highScores.Count == 0)
		{
			ScoreObject newScore = new ScoreObject(playerName, score);
			highScores.Add(newScore);
		}
		else
		{
			Debug.Log("has more than 0 highscores");
			for (int i = 0; i < highScores.Count; i++) {
				if(score > highScores[i].score)
				{
					ScoreObject newScore = new ScoreObject(playerName, score);
					highScores.Insert(i, newScore);
					Debug.Log("added new high score at rank: " + i);
					break;
				}
			}
		}

		for (int i = highScores.Count - 1; i >= 0; i--) {
			if(i > 2)
			{
				highScores.RemoveAt(i);
			}
				}
	}
示例#3
0
    // Update is called once per frame
    void Update()
    {
        NewPoint();

        if (Score > 0)
        {
            Time.timeScale = 1f;
            TimeLeft      -= Time.deltaTime;
            float Display = Mathf.Round(TimeLeft);
            //TimeLeft = (float)Math.Round(TimeLeft, 2);
            Timer.GetComponent <TextMeshProUGUI>().text = Display.ToString();
        }

        if (TimeLeft <= 0.0f)
        {
            Time.timeScale = 0f;
            GameDisplay.SetActive(false);
            ScoreDisplay.SetActive(true);
            ScoreObject.GetComponent <TextMeshProUGUI>().text = "Score: " + Score;
            if (!adShown)
            {
                Advertisement.Show();
                adShown = true;
            }
        }
    }
示例#4
0
        private void ResetScoreObjectOrder(ScoreObject item, ScoreObject scoreObject)
        {
            //重新设置OrderID
            var scoreSheet  = scoreObject as ScoreSheet;
            var controlItem = item as ControlItem;

            if (scoreSheet != null && controlItem != null)
            {
                for (int i = 0; i < scoreSheet.ControlItems.Count; i++)
                {
                    scoreSheet.ControlItems[i].OrderID = i;
                }
            }
            var itemComment = scoreObject as ItemComment;
            var commentItem = item as CommentItem;

            if (itemComment != null && commentItem != null)
            {
                for (int i = 0; i < itemComment.ValueItems.Count; i++)
                {
                    itemComment.ValueItems[i].OrderID = i;
                }
            }
            var itemStandard = scoreObject as ItemStandard;
            var standardItem = item as StandardItem;

            if (itemStandard != null && standardItem != null)
            {
                for (int i = 0; i < itemStandard.ValueItems.Count; i++)
                {
                    itemStandard.ValueItems[i].OrderID = i;
                }
            }
        }
示例#5
0
        public async Task LeaderboardAsync()
        {
            await Task.Run(() => ScoreService.UpdateLeaderboard(Context)).ConfigureAwait(false);

            var leaderboard = ScoreService.Leaderboard;

            ScoreObject highestScoreObject = leaderboard.Where(x => x.Score == leaderboard.Max(x => x.Score)).ElementAt(0);

            EmbedBuilder emb = new EmbedBuilder
            {
                Author = new EmbedAuthorBuilder
                {
                    Name    = $"Ranka Leaderboard for {Context.Guild.Name}",
                    IconUrl = Context.Client.CurrentUser.GetAvatarUrl()
                },
                Title        = $"{highestScoreObject.User.Username} is leading with {highestScoreObject.Score} messages!",
                Color        = Color.Green,
                ThumbnailUrl = highestScoreObject.User.GetAvatarUrl()
            };

            int i = 1;

            foreach (var item in leaderboard.Take(5))
            {
                emb.AddField($"{i}. {item.User.Username}", $"{item.Score} messages");
                i++;
            }

            await RankaReplyAsync(emb).ConfigureAwait(false);
        }
示例#6
0
    private IEnumerator OpenScoreBoard()
    {
        totalScore      = GameObject.FindGameObjectWithTag("TotalScore").GetComponent <Text>();
        totalScore.text = "Totale Opbrengst: " + TotalPoints();
        yield return(new WaitForSeconds(4f));

        float height = Screen.height * 0.6f;
        float offset = height / connectedTeams.Count;

        for (int i = 0; i < connectedTeams.Count; i++)
        {
            ScoreObject temp = Instantiate(scoreObjectPrefab, childTransform).GetComponent <ScoreObject>();
            temp.GetComponent <RectTransform>().localPosition = new Vector2(0, ((height * 0.5f) - (i * offset * 1.2f) - (offset * 0.5f)));
            //float size = offset / temp.GetComponent<RectTransform>().sizeDelta.y;
            //temp.GetComponent<RectTransform>().localScale = new Vector3(temp.GetComponent<RectTransform>().localScale.x, size, size);
            float ratio = 1f - (0.1f * i);
            temp.GetComponent <RectTransform>().sizeDelta          = new Vector2(Screen.width * 0.8f, offset * 0.5f);
            temp.teamName.GetComponent <RectTransform>().sizeDelta = new Vector2(Screen.width * 0.8f, offset * (1.5f * ratio));
            temp.img.GetComponent <RectTransform>().sizeDelta      = new Vector2(offset * (1.5f * ratio), offset * (1.5f * ratio));
            temp.score.GetComponent <RectTransform>().sizeDelta    = new Vector2(Screen.width * 0.1f, offset);
            temp.init(connectedTeams[i], i + 1);
            scoreObjects.Add(temp);
            yield return(new WaitForSeconds(0.2f));
        }
    }
示例#7
0
    // Use this for initialization
    void Start()
    {
        /*
         * using (ws = new WebSocket("wss://54.215.219.53:2222"))
         * {
         *
         *  ws.OnOpen += (sender, e) => ws.Send("Hi, there!");
         *  ws.OnMessage += (sender, e) => scoreRecieved(e); //  => function to call
         *  ws.OnError += (sender, e) => Debug.Log(e.Message);
         *
         * }
         * ws.Connect();
         * //ws.Send("{\"intent\":\"queryScores\",\"username\":\"testUser\",\"mapid\":" + 2 + "}");
         * ws.Send("Yes");
         *
         * GetBytes("Yes");
         */


        LoadGameData();
        scoreText = FindObjectOfType <ScoreObject>();

        lastCheck[KeyCode.Keypad1] = 0;
        lastCheck[KeyCode.Keypad2] = 0;
        lastCheck[KeyCode.Keypad3] = 0;
        lastCheck[KeyCode.Keypad4] = 0;
        lastCheck[KeyCode.Keypad5] = 0;
        lastCheck[KeyCode.Keypad6] = 0;
        lastCheck[KeyCode.Keypad7] = 0;
        lastCheck[KeyCode.Keypad8] = 0;
        lastCheck[KeyCode.Keypad9] = 0;
        startSong();
    }
示例#8
0
    public Entry(string p, ScoreObject s, DateTime t)
    {
        playerName = p;
        score      = s;
        DateTime epochStart = new System.DateTime(1970, 1, 1, 0, 0, 0, System.DateTimeKind.Utc);

        timestamp = (int)(System.DateTime.UtcNow - epochStart).TotalSeconds;
    }
示例#9
0
 // Use this for initialization
 void Start()
 {
     text = GetComponent <Text>();
     if (score == null)
     {
         score = FindObjectOfType <ScoreObject>();
     }
 }
示例#10
0
    public void EndGame()
    {
        //On game ending, saves the last score into player prefs and loads the end scene
        ScoreObject s = new ScoreObject(CoinManager.instance.GetCoins(), (int)playTime);

        SaveLoad.SaveLastScore(s.ToString());
        SceneManagement.LoadScene(2);
    }
示例#11
0
    // Score shown to the player (not the tracker)
    public void GetScoreData()
    {
        var mood       = (CurrentCharacter.Mood + 10) / 20;
        var scoreTotal = 0;

        foreach (var chatScoreObject in _chatScoreHistory)
        {
            foreach (var i in chatScoreObject.Scores.Values)
            {
                scoreTotal += i;
            }
        }
        // Scores required to get certain star ratings semi-hard coded. If balance is off, change these values
        var stars = scoreTotal < CurrentScenario.MaxPoints * 0.4f ? 1 : scoreTotal <= CurrentScenario.MaxPoints * 0.8f ? 2 : 3;

        var allScores      = GetScoresByKey();
        var measuredPoints = new Dictionary <string, int>();

        foreach (var scoreMetric in _scoreMetrics)
        {
            measuredPoints.Add(scoreMetric.ToString(), GetScore(allScores, scoreMetric.ToString()));
        }

        var scoreObj = new ScoreObject
        {
            Stars = stars,
            Score = GetPlayerScore(stars, mood),
            ScoreFeedbackToken  = "FEEDBACK_" + stars,
            MoodImage           = mood >= 0.5,
            EmotionCommentToken = "COMMENT_" + (mood >= 0.5 ? "POSITIVE" : "NEGATIVE"),
            Bonus          = Mathf.CeilToInt(mood * 999),
            MeasuredPoints = measuredPoints
        };

        GetScoreDataSuccessEvent?.Invoke(scoreObj);

        var score = (long)scoreObj.Score;

        // Player score traced by SUGAR
        if (SUGARManager.CurrentUser != null)
        {
            SUGARManager.GameData.Send("score", score);
            SUGARManager.GameData.Send("plays", 1);
            SUGARManager.GameData.Send("stars", stars);
            SUGARManager.GameData.Send($"stars_{RoundNumber}_{CurrentLevel}", stars);
            foreach (var scoreMetric in _scoreMetrics)
            {
                SUGARManager.GameData.Send(scoreMetric.ToString().ToLower(), GetScore(allScores, scoreMetric.ToString()));
            }
        }
        if (LevelMax > 0)
        {
            PlayerPrefs.SetInt("CurrentLevel" + RoundNumber, CurrentLevel);
        }
        Reset();
    }
示例#12
0
 public void Point()
 {
     WinningObject.SetActive(false);
     Score++;
     if (Score > 0)
     {
         Time.timeScale = 1f;
     }
     ScoreObject.GetComponent <TextMeshProUGUI>().text = "Score: " + Score;
 }
示例#13
0
        private void UCTScoreGroupViewer_OnLoaded(object sender, RoutedEventArgs e)
        {
            DataContext = ScoreGroup;
            ScoreObject socreObject = ScoreGroup;

            if (socreObject != null)
            {
                socreObject.OnPropertyChanged += ScoreObject_OnPropertyChanged;
            }
            Init();
        }
示例#14
0
文件: Fish.cs 项目: tatsu011/LD41
 protected override void OnDeath()
 {
     DespawnTimer        += 60;
     transform.localScale = new Vector3(transform.localScale.x, -transform.localScale.y);
     ScoreObject.AddScore(Score);
     GetComponent <Rigidbody2D>().simulated     = false; //kill the simulation.
     GetComponent <PolygonCollider2D>().enabled = false;
     GetComponent <CircleCollider2D>().enabled  = false;
     GetComponent <Rigidbody2D>().simulated     = true;
     GetComponent <Rigidbody2D>().AddForce(Vector2.up * 5);
 }
示例#15
0
        private void UCStandardView_OnLoaded(object sender, RoutedEventArgs e)
        {
            DataContext = Standard;
            ScoreObject socreObject = Standard;

            if (socreObject != null)
            {
                socreObject.OnPropertyChanged += ScoreObject_OnPropertyChanged;
            }
            Init();
        }
示例#16
0
 private void OnCollisionEnter2D(Collision2D collision)
 {
     if (collision.gameObject.tag == "Player")
     {
         FinalScore  = ScoreObject.GetScore();
         FinalScore += collision.gameObject.GetComponent <PlayerController>().HeldScore;
         gameObject.SetActive(false);
         GetComponent <SpriteRenderer>().enabled = false;
         GetComponent <BoxCollider2D>().enabled  = false;
         SceneManager.LoadScene("FinalCatch");
     }
 }
示例#17
0
 private void OnSelectObjectChanged(ScoreObject oldValue, ScoreObject newValue)
 {
     if (newValue != null)
     {
         mListProperties.Clear();
         List <ScoreProperty> listProperties = new List <ScoreProperty>();
         SelectObject.GetPropertyList(ref listProperties);
         for (int i = 0; i < listProperties.Count; i++)
         {
             mListProperties.Add(listProperties[i]);
         }
     }
 }
示例#18
0
        private void StandardViewer_OnLoaded(object sender, RoutedEventArgs e)
        {
            DataContext = Standard;
            ScoreObject socreObject = Standard;

            if (socreObject != null)
            {
                socreObject.OnPropertyChanged += ScoreObject_OnPropertyChanged;
            }
            CbNATable.Click += CheckBoxNA_Click;
            CbNATree.Click  += CheckBoxNA_Click;
            Init();
        }
示例#19
0
    private IEnumerator UpdateUI(ScoreObject scoreObj, float endVal)
    {
        float startVal = scoreObj.scaleX;
        float index    = 0;

        while (index < 1)
        {
            index += Time.deltaTime;

            scoreObj.scaleX = Mathf.Lerp(startVal, endVal, curve.Evaluate(index));
            yield return(new WaitForFixedUpdate());
        }
        scoreObj.scaleX = endVal;
    }
示例#20
0
 public void addAnimation(Vector3[] position, int[] score)
 {
     mMove = -1000f;
     mScore = score;
     Vector3 offset = new Vector3(-mHexR / 2, mHexR / 2, 0);
     foreach (Vector3 p in position)
     {
         GameObject scoreGO = (GameObject)Instantiate(mPrefab, p + offset, mPrefab.transform.rotation);
         //scoreGO.GetComponent<Animator>().Play("SmallScore", -1);
         ScoreObject scoreObject = new ScoreObject();
         scoreObject.mScoreGameObject = scoreGO;
         scoreObject.offset = mHexR / 5;
         mScoreGameObject.Add(scoreObject);
     }
     mMove = 10f;
 }
示例#21
0
    public void addAnimation(Vector3[] position, int[] score)
    {
        mMove  = -1000f;
        mScore = score;
        Vector3 offset = new Vector3(-mHexR / 2, mHexR / 2, 0);

        foreach (Vector3 p in position)
        {
            GameObject scoreGO = (GameObject)Instantiate(mPrefab, p + offset, mPrefab.transform.rotation);
            //scoreGO.GetComponent<Animator>().Play("SmallScore", -1);
            ScoreObject scoreObject = new ScoreObject();
            scoreObject.mScoreGameObject = scoreGO;
            scoreObject.offset           = mHexR / 5;
            mScoreGameObject.Add(scoreObject);
        }
        mMove = 10f;
    }
示例#22
0
    IEnumerator SendScore(int score, int coinScore)
    {
        WWW www;

        Hashtable postHeader = new Hashtable();

        postHeader.Add("Content-Type", "application/json");
        PlayerObject player        = PlayerPrefsUtil.LoadPLayer();
        ScoreObject  postScoreData = new ScoreObject();

        postScoreData.Id         = 1;
        postScoreData.PlayerId   = player.Id;
        postScoreData.PlayerName = player.Name;
        postScoreData.LevelId    = 4;
        postScoreData.LevelName  = "Basic";
        postScoreData.Time       = "2019-05-19T02:37:36.725Z";
        postScoreData.Pickups    = coinScore;
        postScoreData.Points     = score;
        postScoreData.TimeRun    = score;

        var jsonData = JsonMapper.ToJson(postScoreData);

        print("score data " + jsonData.ToString());
        //var formData = System.Text.Encoding.UTF8.GetBytes("{'Username':'******', 'Password':'******'}");
        if (Constant.CheckNetworkAvailability())
        {
            www = new WWW(Constant.SCORE_URL, System.Text.Encoding.UTF8.GetBytes(jsonData), postHeader);

            yield return(www);

            if (www.text.Equals("null"))
            {
                print("error error !!!");
            }
            else
            {
                Debug.Log("request success");
                print(www.text);
            }
        }
        else
        {
            SSTools.ShowMessage("No Network Connection", SSTools.Position.bottom, SSTools.Time.oneSecond);
        }
    }
示例#23
0
    private static IEnumerator GetLeaderboard()
    {
        DownloadHandler handler = new DownloadHandlerBuffer();

        using (UnityWebRequest www = new UnityWebRequest(instance.uploadUrl, UnityWebRequest.kHttpVerbGET, handler, null))
        {
            yield return(www.SendWebRequest());

            if (!(www.isNetworkError || www.isHttpError))
            {
                String      scores_data = Encoding.UTF8.GetString(handler.data);
                ScoreObject scores      = JsonUtility.FromJson <ScoreObject>(scores_data);
                LeaderBoards[GameState.Survival]  = scores.Survival;
                LeaderBoards[GameState.TimeLimit] = scores.TimeLimit;
                instance.updateLeaderboardEvent.Invoke();
            }
        }
    }
示例#24
0
        public SourceScore ReadSourceScore(Stream stream, string fileName, ReadSourceOptions sourceOptions)
        {
            var extension = Path.GetExtension(fileName);

            if (extension == null)
            {
                throw new ArgumentException();
            }

            var         lz4Extension = Unity3DScoreFormat.Unity3DReadExtensions[1];
            var         isCompressed = extension.ToLowerInvariant().EndsWith(lz4Extension);
            ScoreObject scoreObject  = null;

            using (var bundle = new BundleFile(stream, fileName, isCompressed)) {
                foreach (var asset in bundle.AssetFiles)
                {
                    foreach (var preloadData in asset.PreloadDataList)
                    {
                        if (preloadData.KnownType != KnownClassID.MonoBehaviour)
                        {
                            continue;
                        }

                        var behaviour = preloadData.LoadAsMonoBehaviour(true);
                        if (!behaviour.Name.Contains("fumen"))
                        {
                            continue;
                        }

                        behaviour = preloadData.LoadAsMonoBehaviour(false);
                        var serializer = new MonoBehaviourSerializer();
                        scoreObject = serializer.Deserialize <ScoreObject>(behaviour);
                        break;
                    }
                }
            }

            if (scoreObject == null)
            {
                throw new FormatException();
            }

            return(ToSourceScore(scoreObject, sourceOptions));
        }
示例#25
0
        [FunctionName("getAllScores")] //HTTP Trigger that returns all the scores
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "getAllScores")] HttpRequest req,
            ILogger log)
        {
            string             connectionString = Environment.GetEnvironmentVariable("connectionstringdb");
            List <ScoreObject> scorelist        = new List <ScoreObject>();

            try
            {
                using (SqlConnection connection = new SqlConnection())
                {
                    connection.ConnectionString = connectionString;
                    await connection.OpenAsync();

                    using (SqlCommand command = new SqlCommand())
                    {
                        command.Connection  = connection;
                        command.CommandText = "SELECT * FROM tblScores";

                        var result = await command.ExecuteReaderAsync();

                        while (await result.ReadAsync())
                        {
                            ScoreObject score = new ScoreObject()
                            {
                                ScoreId   = Guid.Parse(result["ScoreId"].ToString()),
                                Name      = result["Name"].ToString(),
                                Date      = DateTime.Parse(result["Date"].ToString()),
                                Score     = double.Parse(result["Score"].ToString()),
                                ScoreType = result["ScoreType"].ToString()
                            };
                            scorelist.Add(score);
                        }
                    }
                }
                return(new OkObjectResult(scorelist));
            }
            catch (Exception ex)
            {
                log.LogError(ex, "getAllScores");
                return(new StatusCodeResult(500));
            }
        }
示例#26
0
        void ListChild_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ScoreObject oldValue = null;
            ScoreObject newValue = null;

            if (e.RemovedItems != null && e.RemovedItems.Count > 0)
            {
                oldValue = e.RemovedItems[0] as ScoreObject;
            }
            if (e.AddedItems != null && e.AddedItems.Count > 0)
            {
                newValue = e.AddedItems[0] as ScoreObject;
            }
            RoutedPropertyChangedEventArgs <ScoreObject> args = new RoutedPropertyChangedEventArgs <ScoreObject>(
                oldValue, newValue);

            args.RoutedEvent = SelectedItemChangedEvent;
            RaiseEvent(args);
        }
示例#27
0
    // Use this for initialization
    public void Start()
    {
        keyManager    = GameHelpers.GetHUDKeyManager();
        levelSettings = GameHelpers.GetLevelSettings();
        scoreObject   = gameObject.GetComponent <ScoreObject>();

        if (KeyColor != StandardColor.None)
        {
            gameObject.GetComponent <SpriteRenderer>().color = KeyColor.GetColor();
        }

        //if (KeyColor != StandardColor.None)
        //{
        //    var keyObject = gameObject.transform.Find(StaticNames.DoorKey).gameObject;
        //    SpriteRenderer spriteRenderer = keyObject.GetComponent<SpriteRenderer>();
        //    Color color = KeyColor.GetColor();
        //    spriteRenderer.color = color;
        //}
    }
示例#28
0
    // Update is called once per frame
    void Update()
    {
        if (mMove == -1000f)
        {
            return;
        }
        if (mMove > 0)
        {
            mMove -= Time.deltaTime * mSpeed;
            return;
        }

        if (mScoreGameObject.Count > 0)
        {
            int len = mScoreGameObject.Count;
            for (int i = len - 1; i >= 0; i--)
            {
                ScoreObject scoreObject = mScoreGameObject[i];
                //做完后退一点的动作后向总分数移动
                if (scoreObject.offset < 0)
                {
                    scoreObject.mScoreGameObject.transform.position =
                        Vector3.MoveTowards(scoreObject.mScoreGameObject.transform.position,
                                            mTargetPosition, Time.deltaTime * mSpeed);
                    if (scoreObject.mScoreGameObject.transform.position.y > mTargetLineY)
                    {
                        DestroyObject(scoreObject.mScoreGameObject);
                        mScoreGameObject.RemoveAt(i);
                        GameObject.Find("BackgroundScript").GetComponent <ShowScore>().addScore(mScore[i]);
                    }
                }
                else
                {
                    Vector3 moveOffset = Vector3.MoveTowards(scoreObject.mScoreGameObject.transform.position,
                                                             -mTargetPosition, Time.deltaTime * mSpeed);
                    scoreObject.mScoreGameObject.transform.position = moveOffset;
                    scoreObject.offset -= Time.deltaTime * mSpeed;
                }
            } //end for
        }     //end if
    }
 private void Init()
 {
     try
     {
         if (ScorePropertyInfoItem == null)
         {
             return;
         }
         CurrentApp = ScorePropertyInfoItem.CurrentApp;
         ScorePropertyInfoItem.Editor = this;
         mScoreObject = ScorePropertyInfoItem.ScoreObject;
         ScoreProperty scoreProperty = ScorePropertyInfoItem.ScoreProperty;
         mScoreProperty = scoreProperty;
         if (scoreProperty != null)
         {
             ConvertFormat = scoreProperty.DataType;
         }
         if (mScoreObject != null && scoreProperty != null)
         {
             var objValue = scoreProperty.GetPropertyValue(mScoreObject);
             if (objValue != null)
             {
                 Value = objValue.ToString();
                 if (objValue is Color)
                 {
                     ColorValue = (Color)objValue;
                 }
                 if (objValue is Boolean)
                 {
                     BoolValue = (bool)objValue;
                 }
             }
         }
         InitSelectValueItems();
         ShowValue();
     }
     catch (Exception ex)
     {
         ShowException(ex.Message);
     }
 }
示例#30
0
        [FunctionName("newScore")] //HTTP Trigger that iserts a score into the db
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "newScore")] HttpRequest req,
            ILogger log)
        {
            try
            {
                string connectionstring = Environment.GetEnvironmentVariable("connectionstringdb");
                string json             = await new StreamReader(req.Body).ReadToEndAsync();

                ScoreObject newScore = JsonConvert.DeserializeObject <ScoreObject>(json);
                newScore.ScoreId = Guid.NewGuid();
                newScore.Date    = DateTime.Now;

                using (SqlConnection connection = new SqlConnection())
                {
                    connection.ConnectionString = connectionstring;
                    await connection.OpenAsync();

                    using (SqlCommand command = new SqlCommand())
                    {
                        command.Connection = connection;

                        command.CommandText = "INSERT INTO tblScores (ScoreId, Name, Date, ScoreType, Score) VALUES (@ScoreId, @Name, @Date, @ScoreType, @Score)";
                        command.Parameters.AddWithValue("@ScoreId", newScore.ScoreId);
                        command.Parameters.AddWithValue("@Name", newScore.Name);
                        command.Parameters.AddWithValue("@Date", newScore.Date);
                        command.Parameters.AddWithValue("@ScoreType", newScore.ScoreType);
                        command.Parameters.AddWithValue("@Score", newScore.Score);

                        await command.ExecuteNonQueryAsync();
                    }
                }

                return(new OkObjectResult(newScore));
            }
            catch (Exception ex)
            {
                log.LogError(ex, "newScore");
                return(new StatusCodeResult(500));
            }
        }
示例#31
0
 protected void SendScore()
 {
     if (string.IsNullOrWhiteSpace(_name))
     {
         return;
     }
     try
     {
         WebClient client = new WebClient();
         var       score  = new ScoreObject {
             Name = _name, Score = _finalScore
         };
         client.Headers[HttpRequestHeader.ContentType] = "application/json";
         client.UploadString("https://entrivax.fr/42run/scores", "POST", JsonConvert.SerializeObject(score));
     }
     catch (Exception exception)
     {
         Console.WriteLine("Failed to send score to the server:");
         Console.WriteLine($"Message: {exception.Message}");
     }
 }
示例#32
0
        private static SourceScore ToSourceScore(ScoreObject scoreObject, ReadSourceOptions options)
        {
            var score = new SourceScore();

            var scoreIndex = options.ScoreIndex;
            var difficulty = (Difficulty)scoreIndex;
            var trackType  = ScoreHelper.MapDifficultyToTrackType(difficulty);
            var tracks     = ScoreHelper.GetTrackIndicesFromTrackType(trackType);

            score.Notes = scoreObject.NoteEvents
                          .Where(nd => Array.IndexOf(tracks, nd.Track) >= 0)
                          .Select(n => ToNote(n, tracks))
                          .Where(n => n != null).ToArray();
            score.Conductors  = scoreObject.ConductorEvents.Select(ToConductor).ToArray();
            score.MusicOffset = scoreObject.BgmOffset;

            score.ScoreIndex = scoreIndex;
            score.TrackCount = tracks.Length;

            return(score);
        }
示例#33
0
    static ClickObject CreateClickObject(ClickObjectType t)
    {
        ClickObject retval = null;

        switch(t)
        {
            case ClickObjectType.scoreObject:
                retval = new ScoreObject();
                break;

            case ClickObjectType.gameoverObject:
                retval = new GameoverObject();
                break;

            case ClickObjectType.bonusObject:
                retval = new BonusObject();
                break;
        }

        return retval;
    }