private void ElementActionHandle(SystemElementController controller, VirusValue virus) { if (gameObject.activeInHierarchy) { UpdateView(); } }
private void PlayUnhackEffect(SystemElementController systemElementController, VirusValue virus) { if (unhackParticles != null) { unhackParticles.transform.position = systemElementController.transform.position; Gradient gradient = new Gradient(); Color startColor = systemElementController.SystemElement.OwnerVirus.Color; gradient.SetKeys( new GradientColorKey[] { new GradientColorKey(startColor, 0.0f), new GradientColorKey(Color.white, 0.3f) }, new GradientAlphaKey[] { new GradientAlphaKey(1.0f, 0.0f), new GradientAlphaKey(1.0f, 0.8f) } ); var col = hackParticles.colorOverLifetime; col.enabled = true; col.color = gradient; unhackParticles.Play(); } }
private void ShowSystemElementView(SystemElementController elementController) { SystemElement systemElement = elementController.SystemElement; ISystemElementView selectedView; if (systemElement.IsDestroyed) { selectedView = systemElementDestroyedView; } else if (systemElement.IsHacked) { selectedView = systemElementHackedView; } else { selectedView = systemElementView; } if (currentView != null && currentView != selectedView) { currentView.Hide(); } currentView = selectedView; currentView.Show(elementController); }
private void PlayHackEffect(SystemElementController systemElementController, VirusValue virus) { if (hackParticles != null) { hackParticles.transform.position = systemElementController.transform.position; //ParticleSystem.MinMaxGradient gradient = hackParticles.colorOverLifetime.color; //gradient.colorMin = Color.white; //gradient.colorMax = virus.Value.Color; Gradient gradient = new Gradient(); gradient.SetKeys( new GradientColorKey[] { new GradientColorKey(Color.white, 0.0f), new GradientColorKey(virus.Value.Color, 0.3f) }, new GradientAlphaKey[] { new GradientAlphaKey(1.0f, 0.0f), new GradientAlphaKey(1.0f, 0.8f) //, new GradientAlphaKey(0.0f, 1.0f) } ); var col = hackParticles.colorOverLifetime; col.enabled = true; col.color = gradient; hackParticles.Play(); } }
private void CheckOccupationLimit(SystemElementController hackedElement, VirusValue virus) { float occupation = elementList.PercentageOccupation(virus.Value); if (occupation >= OccupationLimit) { onGameOver.Invoke(); } }
public void Show(SystemElementController elementController) { this.elementController = elementController; systemElement = elementController.SystemElement; UpdateView(); gameObject.SetActive(true); fader.Fade(1f); }
public void UpdateView(SystemElementController elementController, int actionPoints) { var systemElement = elementController.SystemElement; bool buttonState = actionPoints >= systemElement.HackCost && elementController.CanPerformAction; hackButton.SetEnabled(buttonState); buttonState = actionPoints >= systemElement.DestroyCost && elementController.CanPerformAction; destroyButton.SetEnabled(buttonState); }
private void PlayDestroyEffect(SystemElementController systemElementController, VirusValue virus) { if (destroyParticles != null) { destroyParticles.transform.position = systemElementController.transform.position; //int elementSize = systemElementController.SystemElement.Size; //destroyParticles.transform.localScale.Set(); destroyParticles.Play(); } }
public void OnElementDestroyed(SystemElementController elementController, VirusValue virus) { var element = elementController.SystemElement; var control = element.Control; int elementSize = element.Size; ElementsByControl[control].Remove(element); ControlElementSizes[control] -= elementSize; totalElementSize -= elementSize; }
public void Hide() { if (gameObject.activeInHierarchy) { fader.Fade(0f); } elementController = null; systemElement = null; }
private void PlayAdd(SystemElementController systemElementController, VirusValue virus) { if (hack) { bonusText.text = "+" + systemElementController.SystemElement.HackReward; } else { bonusText.text = "+" + systemElementController.SystemElement.DestroyReward; } animator.SetTrigger(addAnimationId); }
public void Show(SystemElementController elementController) { this.elementController = elementController; systemElement = elementController.SystemElement; nameText.text = systemElement.Name; playerImage.color = systemElement.OwnerVirus.Color; playerText.text = systemElement.OwnerVirus.Name; gameObject.SetActive(true); fader.Fade(1f); }
public void HackElement(SystemElementController elementController) { var element = elementController.SystemElement; var player = virus.Value; player.ActionPoints -= element.HackCost; element.IsHacked = true; element.OwnerVirus = player; elementController.HackView(player.Color); hackElement.Invoke(elementController, virus); }
public void OnElementGenerated(GeneratedElementInfo elementInfo) { SystemElement systemElement = InstantiateSystemElement(ref elementInfo); systemElementList.Value.Add(systemElement); SystemElementController elementController = Instantiate(systemElementPrefab, transform); elementController.transform.position = elementInfo.Position; elementController.SystemElement = systemElement; elementController.Tiles = elementInfo.Tiles; systemElement.Controller = elementController; }
public void UnhackElement(SystemElementController elementController) { var element = elementController.SystemElement; var player = virus.Value; player.ActionPoints -= element.UnhackCost; unhackElement.Invoke(elementController, virus); element.IsHacked = false; element.OwnerVirus = null; elementController.UnhackView(); }
public void DestroyElement(SystemElementController elementController) { var element = elementController.SystemElement; var player = virus.Value; player.ActionPoints -= element.DestroyCost; player.MaxActionPoints += element.DestroyReward; element.IsDestroyed = true; element.IsHacked = false; element.OwnerVirus = player; elementController.DestroyView(); destroyElement.Invoke(elementController, virus); }
public void OnElementHacked(SystemElementController controller, VirusValue virus) { pointsPerTurn.Value += controller.SystemElement.HackReward; }
private void OnElementHacked(SystemElementController controller, VirusValue virus) { UpdateView(); }
private void UpdateTextElement(SystemElementController systemElementController, VirusValue virus) { UpdateText(); }
private void ManageButton(Button button, SystemElementController elementController, int actionPoints, int cost) { button.interactable = actionPoints >= cost && elementController.CanPerformAction; }