public static List <DamageOverlay> GetOverlays(Building b)
        {
            overlays.Clear();
            overlaysWorkingList.Clear();
            overlaysWorkingList.AddRange(GetAvailableOverlays(b));
            if (!overlaysWorkingList.Any())
            {
                return(overlays);
            }
            Rand.PushState();
            Rand.Seed = Gen.HashCombineInt(b.thingIDNumber, 1958376471);
            int damageOverlaysCount = GetDamageOverlaysCount(b, b.HitPoints);

            for (int i = 0; i < damageOverlaysCount; i++)
            {
                if (!overlaysWorkingList.Any())
                {
                    break;
                }
                DamageOverlay item = overlaysWorkingList.RandomElement();
                overlaysWorkingList.Remove(item);
                overlays.Add(item);
            }
            Rand.PopState();
            return(overlays);
        }
        public static List <DamageOverlay> GetOverlays(Building b)
        {
            BuildingsDamageSectionLayerUtility.overlays.Clear();
            BuildingsDamageSectionLayerUtility.overlaysWorkingList.Clear();
            BuildingsDamageSectionLayerUtility.overlaysWorkingList.AddRange(BuildingsDamageSectionLayerUtility.GetAvailableOverlays(b));
            List <DamageOverlay> result;

            if (!BuildingsDamageSectionLayerUtility.overlaysWorkingList.Any <DamageOverlay>())
            {
                result = BuildingsDamageSectionLayerUtility.overlays;
            }
            else
            {
                Rand.PushState();
                Rand.Seed = Gen.HashCombineInt(b.thingIDNumber, 1958376471);
                int damageOverlaysCount = BuildingsDamageSectionLayerUtility.GetDamageOverlaysCount(b, b.HitPoints);
                for (int i = 0; i < damageOverlaysCount; i++)
                {
                    if (!BuildingsDamageSectionLayerUtility.overlaysWorkingList.Any <DamageOverlay>())
                    {
                        break;
                    }
                    DamageOverlay item = BuildingsDamageSectionLayerUtility.overlaysWorkingList.RandomElement <DamageOverlay>();
                    BuildingsDamageSectionLayerUtility.overlaysWorkingList.Remove(item);
                    BuildingsDamageSectionLayerUtility.overlays.Add(item);
                }
                Rand.PopState();
                result = BuildingsDamageSectionLayerUtility.overlays;
            }
            return(result);
        }
Пример #3
0
    // Use this for initialization
    void Start()
    {
        overlay       = GameObject.FindGameObjectWithTag("HitOverlay").GetComponent <DamageOverlay>();
        currentHealth = totalHealth;
        respawn       = gameObject.GetComponent <Respawn>();
        if (respawn == null)
        {
            canRespawn = false;
        }
        else
        {
            canRespawn = true;
        }

        audioSource = GetComponent <AudioSource>();

        particleR = Resources.Load <GameObject>("P_EnemyHitParent");

        if (canRespawn)
        {
            GameManager.health = currentHealth;
            if (GameManager.InGamePlayScene())
            {
                GameManager.ui.UpdateViews();
            }
        }
    }
Пример #4
0
    private void Start()
    {
        m_audioSource   = GetComponent <AudioSource>();
        m_healthBar     = GameInterface.Instance.HealthBar;
        m_damageOverlay = GameInterface.Instance.DamageOverlay;

        CurrentHealth = MaxHealth;
    }
Пример #5
0
 // Start is called before the first frame update
 void Start()
 {
     content      = GetComponent <Image>();
     currentValue = startingHealth;
     currentFill  = currentValue / maximumHealth;
     playerAudio  = GameObject.Find("Player").GetComponent <AudioSource>();
     overlay      = GameObject.FindObjectOfType(typeof(DamageOverlay)) as DamageOverlay;
 }
Пример #6
0
        public override void LoadContent()
        {
            base.LoadContent();
            _stage = new Stage(Content.Load <Texture2D>("Textures/temporalTower"), new Rectangle(38, 250, 947, 255));
            Physics.StageHitbox = _stage.hbRect;

            _fighter = (Fighter)Activator.CreateInstance(_selectedFighter, true, new Vector2(200, 100), Content);
            //_fighter = new Omastar(true, new Vector2(200, 100), Content);
            _fighter2 = new Ampharos(false, new Vector2(300, 100), Content);
            Physics.AddToCollisions(_fighter, _fighter.hitbox);
            Physics.AddToCollisions(_fighter2, _fighter2.hitbox);

            _damageOverlay = new DamageOverlay(Game.Content);
        }
Пример #7
0
    void Awake()
    {
        Assert.IsNull(Instance, "There must be only one instance of GameInterface");

        HealthBar = GetComponentInChildren <HealthBar>();
        Assert.IsNotNull(HealthBar, "GUI must contain HealthBar");

        ProgressBar = GetComponentInChildren <ProgressBar>();
        Assert.IsNotNull(HealthBar, "GUI must contain ProgressBar");
        ProgressBar.gameObject.SetActive(false);

        DamageOverlay = GetComponentInChildren <DamageOverlay>();
        Assert.IsNotNull(DamageOverlay, "GUI must contain DamageOverlay");

        Instance = this;
    }
Пример #8
0
        public static List <DamageOverlay> GetOverlays(Thing b)
        {
            ThingsToxicDamageSectionLayerUtility.overlays.Clear();
            ThingsToxicDamageSectionLayerUtility.overlaysWorkingList.Clear();
            ThingsToxicDamageSectionLayerUtility.overlaysWorkingList.AddRange(ThingsToxicDamageSectionLayerUtility.GetAvailableOverlays(b));
            if (!ThingsToxicDamageSectionLayerUtility.overlaysWorkingList.Any <DamageOverlay>())
            {
                return(ThingsToxicDamageSectionLayerUtility.overlays);
            }
            Rand.PushState();
            Rand.Seed = Gen.HashCombineInt(b.thingIDNumber, 1958376471);
            int damageOverlaysCount = ThingsToxicDamageSectionLayerUtility.GetDamageOverlaysCount(b, b.Map.GetComponent <MapComponent_MapEvents>().ToxicDamages[b]);
            int num = 0;

            while (num < damageOverlaysCount && ThingsToxicDamageSectionLayerUtility.overlaysWorkingList.Any <DamageOverlay>())
            {
                DamageOverlay item = ThingsToxicDamageSectionLayerUtility.overlaysWorkingList.RandomElement <DamageOverlay>();
                ThingsToxicDamageSectionLayerUtility.overlaysWorkingList.Remove(item);
                ThingsToxicDamageSectionLayerUtility.overlays.Add(item);
                num++;
            }
            Rand.PopState();
            return(ThingsToxicDamageSectionLayerUtility.overlays);
        }
Пример #9
0
        public static List <DamageOverlay> GetOverlays(Building b)
        {
            BuildingsDamageSectionLayerUtility.overlays.Clear();
            BuildingsDamageSectionLayerUtility.overlaysWorkingList.Clear();
            BuildingsDamageSectionLayerUtility.overlaysWorkingList.AddRange(BuildingsDamageSectionLayerUtility.GetAvailableOverlays(b));
            if (!BuildingsDamageSectionLayerUtility.overlaysWorkingList.Any())
            {
                return(BuildingsDamageSectionLayerUtility.overlays);
            }
            Rand.PushState();
            Rand.Seed = Gen.HashCombineInt(b.thingIDNumber, 1958376471);
            int damageOverlaysCount = BuildingsDamageSectionLayerUtility.GetDamageOverlaysCount(b, b.HitPoints);
            int num = 0;

            while (num < damageOverlaysCount && BuildingsDamageSectionLayerUtility.overlaysWorkingList.Any())
            {
                DamageOverlay item = BuildingsDamageSectionLayerUtility.overlaysWorkingList.RandomElement();
                BuildingsDamageSectionLayerUtility.overlaysWorkingList.Remove(item);
                BuildingsDamageSectionLayerUtility.overlays.Add(item);
                num++;
            }
            Rand.PopState();
            return(BuildingsDamageSectionLayerUtility.overlays);
        }