public void SetData(FollowerData data) { Data = data; aoc["Idle"] = Data.SideIdleAnimation; if (Data.HasRandomAnimation) { aoc["Random"] = Data.RandomAnimation; doRandomTime = Random.Range(Data.MinTimeBetweenRandomAnims, Data.MaxTimeBetweenRandomAnims); currentTime = 0; } if (Data is EnemyData) { EnemyData e = (EnemyData)data; followerID.text = $"LVL {e.Level}\n{e.DisplayName}"; } else if (Data is ShopFollower) { followerID.text = data.DisplayName; } else if (Data is QuestGiver) { followerID.text = data.DisplayName; } else { followerID.text = ""; } }
public void SetData(FollowerData follower) { RectTransform rt = (RectTransform) transform; Vector3 scale = rt.localScale; scale.x = 1; rt.localScale = scale; Vector2 pivot = rt.pivot; pivot.x = 1; rt.pivot = pivot; this.follower = (ShopFollower) follower; gameObject.SetActive(true); Vector2 r = ((RectTransform) transform).sizeDelta; r.x = follower.SizeOfSprite.x; r.y = follower.SizeOfSprite.y; ((RectTransform) transform).sizeDelta = r; Vector3 pos = transform.localPosition; pos.x = -54; transform.localPosition = pos; AnimatorOverrideController aoc = (AnimatorOverrideController) GetComponent<Animator>().runtimeAnimatorController; aoc["Idle"] = this.follower.SideIdleAnimation; aoc["Walk Up"] = this.follower.WalkingAnimation; aoc["Random"] = this.follower.RandomAnimation; }
public FollowerData GetRandomFollower(bool includeGlobal) { List <FollowerDrop> drops = includeGlobal ? Drops.Concat(GlobalFollowerDrops.GlobalDrops).ToList() : Drops; if (drops.Count == 0) { return(null); } int sum = drops.Sum(t => t.DropChance); int rand = Random.Range(0, sum); int count = 0; foreach (var t in drops) { count += t.DropChance; if (rand < count) { FollowerData data = Object.Instantiate(t.Follower); if (data is EnemyData) { EnemyData d = data as EnemyData; d.Level = Mathf.RoundToInt(Random.value * (t.MaxLevel - t.MinLevel) + t.MinLevel); data = d; } data.AfterCreated(); return(data); } } return(drops.Last().Follower); }
public void FollowersChanged(FollowerData data) { HasFollowers = Followers.Value.Count > 0; Arrow.enabled = OnMainScreen && HasFollowers; NumberofFollowersText.gameObject.SetActive(OnMainScreen && HasFollowers); NumberofFollowersText.text = "x" + Followers.Value.Count; }
public void DropEnemy() { FollowerData data = Instantiate(AllFollowers.ElementAt(EnemyDropdown.value)); if (data is EnemyData) { ((EnemyData)data).Level = int.Parse(EnemyLevel.text); } data.AfterCreated(); CurrentFollowers.Add(data); }
private void AddDisplay(FollowerDisplay display, FollowerData d) { display.transform.SetAsFirstSibling(); Vector2 r = ((RectTransform)display.transform).sizeDelta; r.x = d.SizeOfSprite.x; r.y = d.SizeOfSprite.y; ((RectTransform)display.transform).sizeDelta = r; display.SetData(d); display.FollowerClicked -= FollowerClicked; display.FollowerClicked += FollowerClicked; }
private void ResetFollowers() { FollowerPool.Reset(); for (int i = 0; i < ListOfCurrentFollowers.Value.Count; i++) { FollowerData fd = ListOfCurrentFollowers[i]; GameObject go = FollowerPool.GetObject(); FollowerDisplay d = go.GetComponent <FollowerDisplay>(); AddDisplay(d, fd); } FollowerLayoutController.Instance.ChangeLayout(); }
public void Drop(FollowerData data) { if (CurrentFollowers.Value.Count >= MAX_QUEUE_SIZE) { return; } var follower = CurrentQuest.Value.Enemies.GetFollower(data, true); if (follower == null) { return; } CurrentFollowers.Add(follower); }
public void AddFollower() { // randomly choose a follower! if (CurrentFollowers.Value.Count >= MAX_QUEUE_SIZE) { return; } FollowerData data = CurrentQuest.Value.Enemies.GetRandomFollower(true); if (data == null) { return; } CurrentFollowers.Add(data); }
public FollowerData GetFollower(FollowerData enemy, bool includeGlobal) { List <FollowerDrop> drops = includeGlobal ? Drops.Concat(GlobalFollowerDrops.GlobalDrops).ToList() : Drops; foreach (var drop in drops) { if (drop.Follower == enemy) { FollowerData data = Object.Instantiate(drop.Follower); if (data is EnemyData) { EnemyData d = data as EnemyData; d.Level = Mathf.RoundToInt(Random.value * (drop.MaxLevel - drop.MinLevel) + drop.MinLevel); data = d; } data.AfterCreated(); return(data); } } return(null); }
public void Get100Followers() { FollowerData follower = GetRandomFollower(false); Debug.Log(follower.name); }
private void OnAdd(FollowerData d) { SmoothPopUpManager.ShowPopUp(EnemyArrowPosition.position, "<color=green>+1</color> " + d.DisplayName, Color.white, true); ResetFollowers(); }
private void ResetFollowersWithDummyParam(FollowerData d) { ResetFollowers(); }