示例#1
0
        private void sell()
        {
            PlayerStats.I.Worth += Mathf.CeilToInt(courseOfAction.GetValue() * Constants.SELL_PERCENTAGE);

            placementArea.Clear(areaGridPosition, areaSizeOffset);

            HelperObjects.SelectedInfoBar.Deselect();

            // Spawn effect
            GameObject effect = UnityHelper.Instantiate(BuildManager.I.SellEffect, transform.position);

            Destroy(effect, 5f);

            Destroy(gameObject);
        }
示例#2
0
        public void ImplementMitigation(IPlacementArea area, IntVector2 gridPosition, IntVector2 sizeOffset)
        {
            if (currentCourseOfAction != null)
            {
                // Withdraw cost
                PlayerStats.I.Worth -= currentCourseOfAction.GetValue();

                // Occupy area in grid
                area.Occupy(gridPosition, sizeOffset, PlacementTileState.Filled);

                // Initialize the mitigation
                var mitigation = UnityHelper
                                 .Instantiate(CourseOfActionPrefab, area.GridToWorld(gridPosition, sizeOffset))
                                 .GetComponent <MitigationBehaviour>();
                mitigation.Initialize(area, gridPosition, sizeOffset, currentCourseOfAction);

                ExitBuildMode();
            }
        }
示例#3
0
        public void Initialize(CourseOfAction courseOfAction)
        {
            Value = courseOfAction.GetValue();

            Label.text = courseOfAction.custom.category;

            ClickableBehaviour.Title = courseOfAction.custom.category;
            ClickableBehaviour.Text  = Formatter.BuildStixDataEntityDescription(courseOfAction);

            ClickableBehaviour.ActionText    = "implement";
            ClickableBehaviour.PrimaryAction = () => {
                // Destroy the old ghost if it's already in the game
                var oldGhost = FindObjectOfType <GhostMitigationBehaviour>();
                if (oldGhost != null)
                {
                    oldGhost.DestroyGhost();
                }

                BuildManager.I.EnterBuildMode(courseOfAction);
                UnityHelper.Instantiate(HelperObjects.GhostMitigationPrefab);
            };
            ClickableBehaviour.HasSecondaryAction = ReferencesHelper.AddReferencesAsAction(courseOfAction, ClickableBehaviour);
        }