/// <summary> /// Invokes RequiresRedraw event. /// </summary> public void Redraw() { if (RequiresRedraw != null) { RequiresRedraw.Invoke(this); } }
public void Update(float dt) { if (ResourceRequestState == ResourceRequestState.Pending || ResourceRequestState == ResourceRequestState.Completed) { return; } if (CurrentNode == NextNode) { Progress = 1; } else { Progress += dt / GameplaySettings.DefaultResourceTimeBetweenNodes; } while (Progress >= 1) { CurrentNode = NextNode; if (NextNode == Path.Destination) { DestinationStructure.OnResourceArrived(this); ArrivedAtDestination?.Invoke(this); if (Path != null) { Path.Invalidated -= PathsChanged; } } else { NextNode = Path.GetElementAfter(NextNode); } Progress--; } RequiresRedraw?.Invoke(this); }
public void SpecifyResourceType(ResourceType resourceType) { ResourceType = resourceType & ResourceType; RequiresRedraw?.Invoke(this); }
protected internal void OnRequiresRedraw() { RequiresRedraw?.Invoke(this); }