// Use this for initialization void Start() { rl = GameObject.FindGameObjectWithTag("loader").GetComponent <ResourceLoader>(); plots = new Dictionary <string, PlotData>(); mc = GameObject.Find("Clock").GetComponent <MoonCycle>(); sam = GameObject.FindObjectOfType <SteamAchievementManager>(); StartCoroutine(Grow()); }
public static void Update(float deltaTime) { if (instance == null || !instance.isInitialized) { return; } instance.client?.Update(); instance.server?.Update(); SteamAchievementManager.Update(deltaTime); }
public static void Update(float deltaTime) { if (!isInitialized) { return; } if (Steamworks.SteamClient.IsValid) { Steamworks.SteamClient.RunCallbacks(); } if (Steamworks.SteamServer.IsValid) { Steamworks.SteamServer.RunCallbacks(); } SteamAchievementManager.Update(deltaTime); }
public override void Update(float deltaTime, Camera cam) { UpdateProjSpecific(deltaTime); if (CurrentFixer == null) { if (!ShouldDeteriorate()) { return; } if (item.Condition > 0.0f) { if (deteriorationTimer > 0.0f) { if (GameMain.NetworkMember == null || !GameMain.NetworkMember.IsClient) { deteriorationTimer -= deltaTime; #if SERVER if (deteriorationTimer <= 0.0f) { item.CreateServerEvent(this); } #endif } return; } if (item.Condition > MinDeteriorationCondition) { item.Condition -= DeteriorationSpeed * deltaTime; } } return; } if (Item.IsFullCondition || CurrentFixer.SelectedConstruction != item || !currentFixer.CanInteractWith(item)) { currentFixer.AnimController.Anim = AnimController.Animation.None; currentFixer = null; return; } UpdateFixAnimation(CurrentFixer); if (GameMain.NetworkMember != null && GameMain.NetworkMember.IsClient) { return; } float successFactor = requiredSkills.Count == 0 ? 1.0f : 0.0f; foreach (Skill skill in requiredSkills) { float characterSkillLevel = CurrentFixer.GetSkillLevel(skill.Identifier); if (characterSkillLevel >= skill.Level) { successFactor += 1.0f / requiredSkills.Count; } CurrentFixer.Info.IncreaseSkillLevel(skill.Identifier, SkillIncreaseMultiplier * deltaTime / Math.Max(characterSkillLevel, 1.0f), CurrentFixer.WorldPosition + Vector2.UnitY * 100.0f); } bool wasBroken = !item.IsFullCondition; float fixDuration = MathHelper.Lerp(FixDurationLowSkill, FixDurationHighSkill, successFactor); if (fixDuration <= 0.0f) { item.Condition = item.MaxCondition; } else { item.Condition += deltaTime / (fixDuration / item.MaxCondition); } if (wasBroken && item.IsFullCondition) { SteamAchievementManager.OnItemRepaired(item, currentFixer); deteriorationTimer = Rand.Range(MinDeteriorationDelay, MaxDeteriorationDelay); #if SERVER item.CreateServerEvent(this); #endif } }
public override void Update(float deltaTime, Camera cam) { UpdateProjSpecific(deltaTime); if (CurrentFixer == null) { if (!ShouldDeteriorate()) { return; } if (item.Condition > 0.0f) { if (deteriorationTimer > 0.0f) { if (GameMain.NetworkMember == null || !GameMain.NetworkMember.IsClient) { deteriorationTimer -= deltaTime; #if SERVER if (deteriorationTimer <= 0.0f) { item.CreateServerEvent(this); } #endif } return; } if (item.Condition > MinDeteriorationCondition) { item.Condition -= DeteriorationSpeed * deltaTime; } } return; } if (Item.IsFullCondition || CurrentFixer.SelectedConstruction != item || !currentFixer.CanInteractWith(item)) { currentFixer.AnimController.Anim = AnimController.Animation.None; currentFixer = null; return; } UpdateFixAnimation(CurrentFixer); if (GameMain.NetworkMember != null && GameMain.NetworkMember.IsClient) { return; } float successFactor = requiredSkills.Count == 0 ? 1.0f : 0.0f; //item must have been below the repair threshold for the player to get an achievement or XP for repairing it if (item.Condition < ShowRepairUIThreshold) { wasBroken = true; } float fixDuration = MathHelper.Lerp(FixDurationLowSkill, FixDurationHighSkill, successFactor); if (fixDuration <= 0.0f) { item.Condition = item.MaxCondition; } else { float conditionIncrease = deltaTime / (fixDuration / item.MaxCondition); item.Condition += conditionIncrease; #if SERVER GameMain.Server.KarmaManager.OnItemRepaired(CurrentFixer, this, conditionIncrease); #endif } if (wasBroken && item.IsFullCondition) { foreach (Skill skill in requiredSkills) { float characterSkillLevel = CurrentFixer.GetSkillLevel(skill.Identifier); CurrentFixer.Info.IncreaseSkillLevel(skill.Identifier, SkillIncreasePerRepair / Math.Max(characterSkillLevel, 1.0f), CurrentFixer.WorldPosition + Vector2.UnitY * 100.0f); } SteamAchievementManager.OnItemRepaired(item, currentFixer); deteriorationTimer = Rand.Range(MinDeteriorationDelay, MaxDeteriorationDelay); wasBroken = false; #if SERVER item.CreateServerEvent(this); #endif } }
private void Start() { manager = GameObject.Find("BrewingManager").GetComponent <BrewingManager>(); rl = GameObject.FindGameObjectWithTag("loader").GetComponent <ResourceLoader>(); player = GameObject.FindGameObjectWithTag("Player").GetComponent <Player>(); sam = GameObject.FindObjectOfType <SteamAchievementManager>(); sparkles = GameObject.Find("sparkles"); bubbles = GameObject.Find("bubbles"); inv = GameObject.FindGameObjectWithTag("inventory"); anims = GetComponentsInChildren <Animator>(); invButtons = GameObject.FindGameObjectWithTag("inventory").GetComponentsInChildren <Button>(); canvas = brewPanel.transform.parent.gameObject; canvas.SetActive(false); active = false; alreadyOpen = true; done = false; brewVisible = false; if (rl.ingredientCount != 0) { try { first.GetComponentsInChildren <Image>()[1].sprite = Resources.Load <Sprite>(rl.brewingIngredients[0].imagePath); first.GetComponentsInChildren <Image>()[1].enabled = true; first.GetComponentInChildren <Text>().text = Regex.Replace(rl.brewingIngredients[0].name.Substring(0, 1).ToUpper() + rl.brewingIngredients[0].name.Substring(1), "_", " "); first.GetComponentInChildren <CanvasGroup>().alpha = 1; } catch (System.NullReferenceException) { } try { second.GetComponentsInChildren <Image>()[1].sprite = Resources.Load <Sprite>(rl.brewingIngredients[1].imagePath); second.GetComponentsInChildren <Image>()[1].enabled = true; second.GetComponentInChildren <Text>().text = Regex.Replace(rl.brewingIngredients[1].name.Substring(0, 1).ToUpper() + rl.brewingIngredients[1].name.Substring(1), "_", " "); second.GetComponentInChildren <CanvasGroup>().alpha = 1; } catch (System.NullReferenceException) { } try { third.GetComponentsInChildren <Image>()[1].sprite = Resources.Load <Sprite>(rl.brewingIngredients[2].imagePath); third.GetComponentsInChildren <Image>()[1].enabled = true; third.GetComponentInChildren <Text>().text = Regex.Replace(rl.brewingIngredients[2].name.Substring(0, 1).ToUpper() + rl.brewingIngredients[2].name.Substring(1), "_", " "); third.GetComponentInChildren <CanvasGroup>().alpha = 1; } catch (System.NullReferenceException) { } } switch (manager.Brewing) { case 0: foreach (Animator a in anims) { a.SetBool("idle", true); } bubbles.GetComponent <SpriteRenderer>().enabled = false; sparkles.GetComponent <SpriteRenderer>().enabled = false; break; case 1: foreach (Animator a in anims) { a.SetBool("idle", false); } bubbles.GetComponent <SpriteRenderer>().enabled = true; sparkles.GetComponent <SpriteRenderer>().enabled = true; break; case 2: foreach (Animator a in anims) { a.SetBool("idle", true); } anims[0].SetBool("full", true); bubbles.GetComponent <SpriteRenderer>().enabled = true; sparkles.GetComponent <SpriteRenderer>().enabled = false; break; default: Debug.Log("How did it get to this"); break; } }