Exemple #1
0
 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;
         }
     }
 }
Exemple #2
0
 protected virtual void OnSetState(DevelopmentState state)
 {
     if (state == DevelopmentState.Abandoned)
     {
         unitRenderer.SetAbandoned();
     }
 }
Exemple #3
0
 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();
 }
Exemple #4
0
 protected override void OnSetState(DevelopmentState state)
 {
     base.OnSetState(state);
     if (state == DevelopmentState.Flooded)
     {
         Element.State = DevelopmentState.Abandoned;
         Inventory["Coffee"].Clear();
     }
 }
Exemple #5
0
 void OnSetConnectionState(DevelopmentState state)
 {
     if (state == DevelopmentState.Developed)
     {
         connections.Remove(connections.FirstOrDefault(x => x.State == DevelopmentState.Developed));
         if (connections.Count > 0)
         {
             UpdateTerminus();
         }
     }
 }
Exemple #6
0
 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();
     }
 }
Exemple #7
0
        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);
        }
Exemple #10
0
 void SaveOnDevelopmentStateUpdate(DevelopmentState developmentState)
 {
     SaveStateToAsset();
 }