コード例 #1
0
 public void AddTreasure(TreasureObject newTreasure)
 {
     treasure = newTreasure;
     Debug.Log(newTreasure.Icon);
     Icon.sprite  = treasure.Icon;
     Icon.enabled = true;
 }
コード例 #2
0
    public void ClearSlot()
    {
        treasure = null;

        Icon.sprite  = null;
        Icon.enabled = false;
    }
コード例 #3
0
    public void StartTreasure(TreasureObject treasureObject)
    {
        //Instantiate Treasure Prefab
        _treasureObject = Instantiate(treasureObject.TreasurePrefab, _treasureSpawnPoint);

        //Get TreasurePool
        _treasurePool = treasureObject.TreasurePool;

        //Get random amount of treasure
        _amountOfTreasures = GetRandomValue(1, _treasurePool.MaxAmountOfTreasures);

        //Invoke Start Event
        EventManager.Instance.StartTreasure();

        AddTimeToTapTimer(0.3f);
    }
コード例 #4
0
    protected void OnCreateTreasureButtonClicked(object sender, EventArgs e)
    {
        if (ActiveRoom?.Chest == null)
        {
            return;
        }
        TreasureObject t = ActiveRoom.Chest.TreasureGroup.AddTreasureObjectSubid();

        if (t != null)
        {
            ActiveRoom.Chest.Treasure = t;
            // Must call this explicitly since it normally only gets invoked when the chest's
            // treasure index changes. In this case the treasure index may stay the same even if
            // that index was only just created now.
            UpdateChestData();
        }
    }
コード例 #5
0
 public void StartCombat(MonsterObject monsterobject)
 {
     ResetMonsterTimer();
     ResetMonsterObject();
     _playerHealth  = (int)CharacterStatsManager.TotalHealth;
     _monsterObject = monsterobject;
     _monsterHealth = _monsterObject.MonsterHealth;
     _monsterModel  = Instantiate(monsterobject.MonsterPrefab, _monsterObjectTransform.transform.position, _monsterObjectTransform.transform.rotation, _monsterObjectTransform.transform);
     _playerObjectTransform.transform.position = _playerSpawnPoint.position;
     _playerDamage              = (int)CharacterStatsManager.TotalDamage;
     _playerMaxSpecialPower     = (int)CharacterStatsManager.TotalSpecialPowerMax;
     _playerCurrentSpecialPower = 0;
     _playerSpecialPowerStat    = (int)CharacterStatsManager.TotalSpecialPower;
     _combat = true;
     SlideIn();
     EventManager.Instance.StartCombat();
     _pickedTreasure = pickTreasure(monsterobject);
     _combatStatsManagerScript.SetStartStats(monsterobject.MonsterName, _monsterHealth, monsterobject.MonsterTimeBetweenAttacks);
 }
コード例 #6
0
    IEnumerator GetTreasureInfo(string treasName)
    {
        // Compose URI. Variables : {0}-> URL and {1}-> treasureName
        string uri = string.Format("{0}/query?where=treasure_name=+%09%27{1}%27&outFields=user_id,timestamp,collected_coins&orderByFields=collected_coins+DESC%2C+timestamp+DESC%3B&resultRecordCount=10&returnGeometry=false&f=json", new object[]
        {
            url,
            treasName,
        });

        // Builder for the infoText we want to show
        var infoTextStr = new System.Text.StringBuilder();

        using (UnityWebRequest webRequest = UnityWebRequest.Get(uri)) {
            //Request and wait for the desired JSON
            yield return(webRequest.SendWebRequest());

            if (webRequest.isNetworkError || webRequest.isHttpError)
            {
                Debug.Log(webRequest.error);
            }
            else
            {
                if (webRequest.isDone)
                {
                    // If we get an results handle the result
                    string jsonResult = webRequest.downloadHandler.text;

                    //JSON to Treassure using Deserialize
                    TreasureObject treasureObject = new TreasureObject();
                    treasureObject = JsonConvert.DeserializeObject <TreasureObject>(jsonResult);


                    // Update Treasure Label (for LeaderBoard)
                    if (treasName == "Bethselaminian+Backpack")
                    {
                        treasureLabel = "Bethselaminian Backpack";
                    }
                    else if (treasName == "Staff+of+the+Forlorn+Traveler")
                    {
                        treasureLabel = "Staff of the Forlorn Traveler";
                    }
                    else
                    {
                        treasureLabel = "Common Tavern Ale";
                    }

                    infoTextStr.AppendLine("***TOP 10***");
                    infoTextStr.AppendLine("For " + treasureLabel);
                    infoTextStr.AppendLine("UserId" + " - " + "TimeStamp" + " - " + "CollectedCoins");
                    infoTextStr.AppendLine("_________________________________");
                    foreach (Feature feature in treasureObject.Features)
                    {
                        Attributes a = feature.Attributes;
                        infoTextStr.AppendLine(a.UserId + " - " + a.Timestamp + " - " + a.CollectedCoins);
                    }

                    // Treasure open
                    GetComponent <MeshFilter>().sharedMesh = open; // Open treasure
                    yield return(new WaitForSeconds(1));           // Wait 1 sec to open the treasure

                    // Leaderboear disapear
                    infotext.enabled = true;               // Reset LeaderBoard in cas it has disappear
                    infotext.GetComponent <TextMeshPro>().SetText(infoTextStr);
                    leaderboardBackground.SetActive(true); // Reset Leaderboard Background
                    yield return(new WaitForSeconds(5));   // Make the LeaderBoard disappear after 5 seconds

                    infotext.enabled = false;              // LeaderBoard Disappear
                    leaderboardBackground.SetActive(false);

                    // Treasure close
                    yield return(new WaitForSeconds(1));            // Wait 1 sec to close the treasure

                    GetComponent <MeshFilter>().sharedMesh = close; // Close treasure
                }
            }
        }
    }
コード例 #7
0
 void Start()
 {
     treasure = possibleTreasures[Random.Range(0, possibleTreasures.Length)];
     GetComponent <SpriteRenderer>().sprite = treasure.Icon;
 }
コード例 #8
0
 TreasureObject RandomTreasure()
 {
     _chosenTreasure = _treasures[RandomInt(0, _treasures.Count)];
     return(_chosenTreasure);
 }
コード例 #9
0
    void UpdateChestData()
    {
        Chest chest = ActiveRoom.Chest;

        if (chest != null)
        {
            ValueReferenceGroup vrg = ActiveRoom.Chest.ValueReferenceGroup;
            if (chestVre == null)
            {
                chestVre = new ValueReferenceEditor(Project, vrg);
                chestVreHolder.Add(chestVre);
            }
            else
            {
                chestVre.ReplaceValueReferenceGroup(vrg);
            }

            TreasureObject treasure = chest.Treasure;

            if (treasure == null)
            {
                nonExistentTreasureHolder.ShowAll();
                treasureVreHolder.Hide();

                if (chest.TreasureID >= Project.NumTreasures)
                {
                    treasureDataFrame.Hide();
                }
                else
                {
                    treasureDataFrame.Show();
                }
            }
            else
            {
                nonExistentTreasureHolder.Hide();
                treasureDataFrame.Show();
                treasureVreHolder.Show();

                if (treasureVre == null)
                {
                    treasureVre = new ValueReferenceEditor(Project, treasure.ValueReferenceGroup);
                    treasureVreHolder.Add(treasureVre);
                }
                else
                {
                    treasureVre.ReplaceValueReferenceGroup(treasure.ValueReferenceGroup);
                }
            }

            treasureDataLabel.Text = string.Format("Treasure ${0:X2} Subid ${1:X2} Data",
                                                   vrg.GetIntValue("ID"), vrg.GetIntValue("SubID"));
        }

        if (chest == null)
        {
            chestEditorBox.Hide();
            treasureDataFrame.Hide();
            chestAddHolder.ShowAll();
        }
        else
        {
            chestEditorBox.ShowAll();
            chestAddHolder.Hide();
        }

        chestEventWrapper.ReplaceEventSource(chest);
    }