public void SetFloodLevel(float floodLevel, PathElement element) { if (floodLevel > 0) { if (!Flooded) { Flooded = true; stateBeforeFlood = element.State; element.State = DevelopmentState.Flooded; } } else { if (Flooded) { damage += Mathf.Clamp01(Mathf.InverseLerp(0, maxFloodTime, Time.time - startFloodTime)); element.State = stateBeforeFlood; if (element.State != DevelopmentState.Undeveloped) { onDamage(damage); } Flooded = false; } } }
protected virtual void OnSetState(DevelopmentState state) { if (state == DevelopmentState.Abandoned) { unitRenderer.SetAbandoned(); } }
public Command(string command, Handler handler, Argument[] arguments = null, string help = null, DevelopmentState devState = DevelopmentState.Normal) { this.Name = command; this.handler = handler; this.arguments = arguments; this.description = help; this.devState = devState; GenerateArgumentParsingRuleset(); }
protected override void OnSetState(DevelopmentState state) { base.OnSetState(state); if (state == DevelopmentState.Flooded) { Element.State = DevelopmentState.Abandoned; Inventory["Coffee"].Clear(); } }
void OnSetConnectionState(DevelopmentState state) { if (state == DevelopmentState.Developed) { connections.Remove(connections.FirstOrDefault(x => x.State == DevelopmentState.Developed)); if (connections.Count > 0) { UpdateTerminus(); } } }
protected override void OnSetState(DevelopmentState state) { base.OnSetState(state); if (state == DevelopmentState.Abandoned) { Inventory["Milkshakes"].Clear(); } else if (state == DevelopmentState.Flooded) { AcceptableTasks.DeactivateAll(); } else { AcceptableTasks.ActivateAll(); } }
public DevelopmentState ForPackage(string packageName) { var result = developmentStates.FirstOrDefault(state => state.PackageName == packageName); if (result != null) { return(result); } result = new DevelopmentState(packageName); result.OnDevelopmentStateUpdate += SaveOnDevelopmentStateUpdate; developmentStates.Add(result); // Save the changes to file SaveStateToAsset(); return(result); }
void RefreshActionsStatus(DevelopmentState developmentState) { if (developmentState?.Test != DropdownStatus.None) { TestRunnerButton.DropdownMenu = CreateStandardDropdown(state => PackageTestRunner.ShowTestRunnerWindow()); } else { TestRunnerButton.DropdownMenu = null; } if (developmentState != null) { TestRunnerButton.Status = developmentState.Test; } RefreshValidationStatus(); }
internal void RefreshDevelopmentButtons(DevelopmentState developmentState = null) { if (PackageVersion == null) { return; } var isInDevelopment = PackageVersion?.HasTag(PackageTag.InDevelopment) ?? false; RefreshActionsDisplay(); if (developmentState == null && isInDevelopment) { developmentState = PackageManagerState.Instance.ForPackage(PackageVersion.name); } if (developmentState != null && developmentState.PackageName == PackageVersion.name) { developmentState.OnDevelopmentStateUpdate -= RefreshDevelopmentButtons; developmentState.OnDevelopmentStateUpdate += RefreshDevelopmentButtons; } RefreshActionsStatus(developmentState); }
void SaveOnDevelopmentStateUpdate(DevelopmentState developmentState) { SaveStateToAsset(); }