Inheritance: MonoBehaviour
Example #1
0
    void Start()
    {
        wb          = FindObjectOfType <WeaponBench>();
        pab         = FindObjectOfType <PassiveBench>();
        pob         = FindObjectOfType <PowerupBench>();
        mp          = FindObjectOfType <MusicPlayer>();
        ic          = FindObjectOfType <InputController>();
        gops        = FindObjectOfType <GameOptions>();
        TMPBUI      = GameObject.Find("TMPBUI").GetComponent <TextMeshProUGUI>();
        TMPTUT      = GameObject.Find("TMPTUT").GetComponent <TextMeshProUGUI>();
        TMPTUI      = GameObject.Find("TMPTUI").GetComponent <TextMeshProUGUI>();
        TMPHS       = GameObject.Find("TMPHS").GetComponent <TextMeshProUGUI>();
        TMPBank     = GameObject.Find("TMPBank").GetComponent <TextMeshPro>();
        TMPTime     = GameObject.Find("TMPTime").GetComponent <TextMeshPro>();
        tutanim     = TMPTUT.GetComponent <Animator>();
        altar       = FindObjectOfType <Altar>();
        player      = FindObjectOfType <Player>();
        statl       = FindObjectOfType <StatLibrary>();
        sc          = FindObjectOfType <SpawnController>();
        TMPHS.text  = "";
        TMPTUT.text = "";
        ClearStats();

        killtext    = "Kill enemies to get necromantic energy (Detrizide).";
        dttext      = "Press or hold the " + ic.Detrizide + " key when weapon is flashing to spend energy and cast spells. Do this constantly.";
        weapontext  = "Collect weapons from the gold flashing altar in the middle once their cost has been paid.";
        passivetext = "Collect passive upgrades from the blue flashing altar to the west once their cost has been paid. ";
        poweruptext = "Powerups will periodically become available. Acquire them from the red flashing altar in the east to temporarily gain a bonus.";
        ammotext    = "Some weapons run out of ammo. Switch weapons using " + ic.CycleWeapons + " or " + ic.NextWeapon + " to refill ammo.";
        swtext      = "The Void Cannon and Devourer weapons are superweapons. These do immense damage, but cost banked Detrizide to use. Cost increases each use. ";
    }
Example #2
0
    public bool CanProgressToNextRoom()
    {
        if (SpawningWaveInProgress)
        {
            return(false);
        }

        foreach (var unit in AllUnits)
        {
            if (unit.Owner == OwnerId.Enemy)
            {
                return(false);
            }
        }

        foreach (var entry in AllObjects)
        {
            if (entry is Altar)
            {
                Altar A = entry as Altar;
                if (!A.Complete)
                {
                    return(false);
                }
            }
        }

        return(true);
    }
Example #3
0
    public void Reset()
    {
        selectedAction = new Rest();
        DaysLeft       = 10;
        wentToMission  = false;
        resources.Clear();
        for (int i = 0; i < (int)Resource.MAX; ++i)
        {
            resources.Add((Resource)i, 0);
        }
        workstations.Clear();
        AlchemistTable alchemistTable = new AlchemistTable();

        workstations.Add(alchemistTable.Id, alchemistTable);
        Altar altar = new Altar();

        workstations.Add(altar.Id, altar);
        Workshop workshop = new Workshop();

        workstations.Add(workshop.Id, workshop);
        //Startowe zasoby
        resources[Resource.Food]  += 4;
        resources[Resource.Scrap] += 1;
        resources[Resource.Gems]  += 1;
    }
Example #4
0
        protected override void OnDelete()
        {
            base.OnDelete();

            if (Altar != null)
            {
                Altar.Delete();
            }

            if (Vendor != null)
            {
                Vendor.Delete();
            }

            foreach (var b in Bosses.Where(b => b != null))
            {
                b.Delete();
            }

            foreach (var t in TeleportersTo.Union(TeleportersFrom).Where(t => t != null))
            {
                t.Delete();
            }

            foreach (var s in Floors.Where(l => l != null).SelectMany(l => l.Where(s => s != null)))
            {
                s.Delete();
            }

            foreach (var s in Stage.Where(s => s != null))
            {
                s.Delete();
            }
        }
Example #5
0
        public void OnTick()
        {
            if (!Running)
            {
                Timer.Stop();
                return;
            }

            if (Mobile.NetState == null || Mobile.Deleted || Altar.Deleted || Mobile.Map != Altar.Map ||
                ViceVsVirtueSystem.Instance.Battle == null || !ViceVsVirtueSystem.Instance.Battle.OnGoing || !Mobile.Region.IsPartOf(ViceVsVirtueSystem.Instance.Battle.Region) ||
                Altar.Contains(Mobile))
            {
                Stop();
                return;
            }

            // this should never happen!
            if (LastX != Target.X || LastY != Target.Y)
            {
                LastX = Target.X;
                LastY = Target.Y;

                Update();
            }
        }
Example #6
0
    void OnTriggerStay(Collider col)
    {
        if (col.CompareTag("Skull") && _holdingSkull == null && playerState == PlayerState.Walking)
        {
            if (Input.GetButtonDown(_controls["PickUp"]))
            {
                col.transform.SetParent(this.transform);
                col.GetComponent <Skull>().owner = this;
                col.GetComponent <Skull>().DisableGravity();
                _holdingSkull = col.gameObject;
                _holdingSkull.transform.position = skullHandlePoint.position;
                PlayAudioClip(sounds.obtainSkullClip);
                playerState = PlayerState.HasSkull;
            }
        }
        if (col.CompareTag("Altar"))
        {
            if (Input.GetButtonDown(_controls["PickUp"]) && playerState == PlayerState.HasSkull && _holdingSkull != null)
            {
                Altar altar = col.GetComponent <Altar>();
                if (_holdingSkull)
                {
//					PlayAudioClip(sounds.placeSkullClip);
                    altar.PlaceSkullObject(skullColorMaterial);
                    _score++;
                    Destroy(_holdingSkull);
                    _holdingSkull = null;
                    playerState   = PlayerState.Walking;
                    GameManager.Instance.ItemHasSpawned = false;
                }
            }
        }
    }
Example #7
0
    void OnTriggerEnter(Collider other)
    {
        // autopickup item if not carried
        if (!carryItem && other.gameObject.CompareTag("Item"))
        {
            carriedItemController = other.gameObject.GetComponent <ItemController>();
            carriedItemController.ItemPickedUp();

            carryItem = true;
            playerItemIndicator.ItemPickedUp();

            gameManager.PlayerItemPickup();
        }

        // entering the Entrance drop area
        if (other.gameObject.CompareTag("Entrance"))
        {
            enteredEntrance = other.gameObject.GetComponent <Entrance>();
        }
        // entering the Altar drop area
        if (other.gameObject.CompareTag("Altar"))
        {
            enteredAltar = other.gameObject.GetComponent <Altar>();
        }
    }
Example #8
0
    protected void Start()
    {
        possessed       = false;
        altar           = null;
        rb              = GetComponent <Rigidbody2D>();
        facingDirection = 1;
        oldDirection    = 1;

        if (gameObject.tag == "Character")
        {
            GameManager.Instance.alive++;

            if (possessed)
            {
                rb.mass = mass;
            }
            else
            {
                rb.mass = staticMass;
            }
        }

        anim  = GetComponent <Animator>();
        timer = 0;
    }
    // Update is called once per frame
    void Update()
    {
        WeaponSystem indexRef = gameObject.GetComponent <WeaponSystem>();

        currentWeapon = equippedWeapons[indexRef.weaponIndex];

        if (Physics.Raycast(Camera.main.transform.position, Camera.main.transform.forward, out interaction, interactionDistance))
        {
            if (Input.GetKeyDown(KeyCode.E) || Input.GetButtonDown("gUse"))
            {
                // IF we hit an object that is interactable
                if (interaction.collider.gameObject.layer == LayerMask.NameToLayer("Interactable"))
                {
                    string objName = interaction.transform.gameObject.name;

                    if (objName == "Altar")
                    {
                        Altar altrRef = interaction.collider.gameObject.GetComponent <Altar>();
                        Debug.Log(interaction.transform.name);
                        if (currentWeapon.blessedWeapon == false)
                        {
                            altrRef.BlessWeapon(currentWeapon);
                        }
                    }
                }
            }
        }
    }
Example #10
0
    public static string GetDescription(BuildingType type, ItemType itemType, int level)
    {
        string description = "";

        switch ((int)type)
        {
        case 0:
            description = Farm.GetDescription(itemType, GetProduceNumber(type, level));
            break;

        case 1:
            description = Mine.GetDescription(itemType, GetProduceNumber(type, level));
            break;

        case 2:
            description = Teleporter.GetDescription(Teleporter.GetMaxDistance(level));
            break;

        case 3:
            description = Altar.GetDescription();
            break;

        default:
            break;
        }
        return(description);
    }
Example #11
0
    private void Interact()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            RaycastHit2D hit = Physics2D.Raycast(rigidbody.position, lookDirection, 1.5f, LayerMask.GetMask("NPC"));

            if (hit.collider != null)
            {
                if (hit.transform.gameObject.tag == "NPC")
                {
                    npc = hit.collider.GetComponent <Npcdialog>();
                    npc.MessageHandler();
                }
                else if (hit.transform.gameObject.tag == "Altar")
                {
                    Altar altar = hit.collider.GetComponent <Altar>();
                    altar.HandleInteraction();
                }
                else if (hit.transform.gameObject.tag == "PuzzleDoor")
                {
                    hit.transform.gameObject.GetComponent <PassPuzzle>().OpenPuzzle();
                }
            }
            else if (dialogHandler.messageReceived)
            {
                dialogHandler.NextSentence();
            }
            else
            {
                return;
            }
        }
    }
Example #12
0
 private void Start()
 {
     statl  = FindObjectOfType <StatLibrary>();
     altar  = FindObjectOfType <Altar>();
     player = FindObjectOfType <Player>();
     sc     = FindObjectOfType <SpawnController>();
     sl     = FindObjectOfType <SoundLibrary>();
 }
Example #13
0
 void OnTriggerExit(Collider collider)
 {
     Altar a = collider.gameObject.GetComponent<Altar>();
     if (a != null)
     {
         altar = null;
     }
 }
Example #14
0
    public Altar DeepCopy()
    {
        Altar newAltar = new Altar(name, cost, description);

        newAltar.portrait = portrait;
        newAltar.unit     = unit.DeepCopy();
        return(newAltar);
    }
Example #15
0
 public void DisplayHighScore()
 {
     if (sc.GetGameActive() && gops.GetSave().highScore < Mathf.FloorToInt(Altar.GetTimeSinceStart()) && gops.GetMaxHealth() <= 250)
     {
         gops.GetSave().highScore = Mathf.FloorToInt(Altar.GetTimeSinceStart());
         SaveSystem.SaveGame(gops.GetSave().highScore, gops, ic, mp.GetChosenVolume(), Screen.currentResolution.width, Screen.currentResolution.height, QualitySettings.GetQualityLevel());
     }
     TMPHS.text = "BEST TIME: " + gops.GetSave().highScore + "\n\nPress " + ic.Reset + " to try again.";
 }
Example #16
0
 public void SetAltar(Altar newAltar)
 {
     altar = newAltar;
     altarName.GetComponent <TextMesh>().text        = altar.name.ToString();
     cost.GetComponent <TextMesh>().text             = altar.cost.ToString();
     altarName.GetComponent <TextMesh>().text        = altar.name.ToString();
     portrait.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>("Altars/Altar of " + altar.portrait);
     description.GetComponent <TextMesh>().text      = altar.description;
 }
Example #17
0
 public void AltarEnterExit(Altar _currentAltar, bool _onAltar)
 {
     currentAltar = _currentAltar;
     onAltar      = _onAltar;
     foreach (Sacrifice b in sacrifices)
     {
         b.button.interactable = onAltar;
     }
 }
Example #18
0
 void OnTriggerEnter(Collider collider)
 {
     Debug.Log("Trigger" + playerEnergy);
     Altar a = collider.gameObject.GetComponent<Altar>();
     if (a != null)
     {
         altar = a;
         altar.TurnIn(playerEnergy);
     }
 }
Example #19
0
 void Start()
 {
     altar      = FindObjectOfType <Altar>();
     wb         = FindObjectOfType <WeaponBench>();
     sl         = FindObjectOfType <StatLibrary>();
     detrianim  = GetComponent <Animator>();
     detriLight = gameObject;
     SetDTColours();
     saveOriginalMaterials();
 }
Example #20
0
 void OnTriggerExit(Collider other)
 {
     // leaving the Entrance drop area
     if (other.gameObject.CompareTag("Entrance"))
     {
         enteredEntrance = null;
     }
     // leaving the Altar drop area
     if (other.gameObject.CompareTag("Altar"))
     {
         enteredAltar = null;
     }
 }
Example #21
0
    public void LoadAltar()
    {
        if (currentNode.GetComponent <Node>().altar != null)
        {
            Altar      altar           = currentNode.GetComponent <Node>().altar;
            GameObject locationMenu    = Tools.GetChildNamed(gameObject, "Location Menu");
            GameObject altarSpace      = Tools.GetChildNamed(locationMenu, "Altar Space");
            GameObject titleText       = Tools.GetChildNamed(altarSpace, "Altar Title Text");
            GameObject altarSprite     = Tools.GetChildNamed(altarSpace, "Altar Sprite");
            GameObject descriptionText = Tools.GetChildNamed(altarSpace, "Altar Description Text");

            titleText.GetComponent <TextMesh>().text           = altar.name.ToString();
            altarSprite.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>("Altars/Altar of " + altar.portrait);
            descriptionText.GetComponent <TextMesh>().text     = altar.description;
        }
    }
Example #22
0
    public void MakeAltarBlueprints(GameObject player)
    {
        Faction faction      = player.GetComponent <Player>().faction;
        Altar   harvestAltar = new Altar(AltarName.Harvest, 20, "Increase this\nhex's income\nby 40%");

        player.GetComponent <Player>().altarBlueprints.Add(AltarName.Harvest, harvestAltar);
        Altar devotionAltar = new Altar(AltarName.Devotion, 20, "Generate 1 zeal\neach turn");

        player.GetComponent <Player>().altarBlueprints.Add(AltarName.Devotion, devotionAltar);
        Altar conflictAltar = new Altar(AltarName.Conflict, 20, "Build a powerful\ndefensive building");

        player.GetComponent <Player>().altarBlueprints.Add(AltarName.Conflict, conflictAltar);
        Altar fateAltar = new Altar(AltarName.Fate, 20, "Increase influence in\ndetermining Oracle (unimplemented)");

        player.GetComponent <Player>().altarBlueprints.Add(AltarName.Fate, fateAltar);
    }
Example #23
0
        private void CreateMenu()
        {
            try
            {
                bool newMenu = false;
                LeagueSharp.Common.Menu menu;
                if (Menu.GetMenu("SAssembliesRoot") == null)
                {
                    menu    = new LeagueSharp.Common.Menu("SAssemblies", "SAssembliesRoot", true);
                    newMenu = true;
                }
                else
                {
                    menu = Menu.GetMenu("SAssembliesRoot");
                }

                MainMenu.Timer = Timer.SetupMenu(menu);
                mainMenu.UpdateDirEntry(ref MainMenu.Altar, Altar.SetupMenu(MainMenu.Timer.Menu));

                var globalMenu = Menu.GetSubMenu(menu, "SAwarenessGlobalSettings");
                if (globalMenu == null)
                {
                    Menu.GlobalSettings.Menu =
                        menu.AddSubMenu(new LeagueSharp.Common.Menu("Global Settings", "SAwarenessGlobalSettings"));
                    Menu.GlobalSettings.Menu.AddItem(
                        new MenuItem("SAssembliesGlobalSettingsServerChatPingActive", "Server Chat/Ping").SetValue(false));
                    Menu.GlobalSettings.Menu.AddItem(
                        new MenuItem("SAssembliesGlobalSettingsVoiceVolume", "Voice Volume").SetValue(new Slider(100, 0, 100)));
                }
                else
                {
                    Menu.GlobalSettings.Menu = globalMenu;
                }

                if (newMenu)
                {
                    menu.AddItem(new MenuItem("By Screeder", "By Screeder V" + Assembly.GetExecutingAssembly().GetName().Version));
                    menu.AddToMainMenu();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("SAssemblies: {0}", ex);
                throw;
            }
        }
Example #24
0
    void MakeAltar()
    {
        Altar harvestAltar = new Altar(AltarName.Harvest, 20, "Increase this hex's\nincome by 40%");

        altarBuySpaces[0].GetComponent <AltarShopSpace>().SetAltar(harvestAltar);

        Altar devotionAltar = new Altar(AltarName.Devotion, 20, "Generate 1 zeal\neach turn");

        altarBuySpaces[1].GetComponent <AltarShopSpace>().SetAltar(devotionAltar);

        Altar conflictAltar = new Altar(AltarName.Conflict, 20, "Build a powerful\ndefensive building");

        altarBuySpaces[2].GetComponent <AltarShopSpace>().SetAltar(conflictAltar);

        Altar fateAltar = new Altar(AltarName.Fate, 20, "Increase influence in\ndetermining Oracle");

        altarBuySpaces[3].GetComponent <AltarShopSpace>().SetAltar(fateAltar);
    }
Example #25
0
    private void Update()
    {
        TMPBank.text = MakeRoman(statl.GetDetrizideBank());
        if (!player.gameObject.GetComponent <Unit>().IsDead() && sc.GetGameActive())
        {
            TMPTime.text = MakeRoman(Mathf.FloorToInt(Altar.GetTimeSinceStart()));
        }
        if (gops.GetUIEnabled() && !player.gameObject.GetComponent <Unit>().IsDead() && sc.GetGameActive())
        {
            DisplayStats();
        }
        else if (!player.gameObject.GetComponent <Unit>().IsDead() && !gops.GetUIEnabled())
        {
            ClearStats();
        }

        UpdateAndCheckTutorials();
    }
Example #26
0
 void Start()
 {
     wb         = FindObjectOfType <WeaponBench>();
     fwanimator = GameObject.FindGameObjectWithTag("FadeWall").GetComponent <Animator>();
     altar      = FindObjectOfType <Altar>();
     //resUnit = altar.GetResUnit();
     ic            = FindObjectOfType <InputController>();
     weaponmanager = FindObjectOfType <WeaponManager>();
     sc            = FindObjectOfType <SpawnController>();
     aso           = gameObject.GetComponent <AudioSource>();
     sl            = FindObjectOfType <SoundLibrary>();
     statl         = FindObjectOfType <StatLibrary>();
     unit          = gameObject.GetComponent <Unit>();
     unit.SetDeadClip(sl.GetPlayerDead());
     ownedWeaponGOs = new List <GameObject>();
     previousWeapon = FindObjectOfType <PlayerWeapon>().name;
     ownedWeaponGOs.Add(sc.provideGameObject("BoneBag"));
 }
Example #27
0
        private StateBase server()
        {
            State state = TaskState.Create(delegate {
                Task task = new Task();
                TaskManager.AddAndIsOver(task, delegate
                {
                    return(Model.Instance.hasGod);
                });
                TaskManager.PushFront(task, delegate
                {
                    //refreshHero();
                    //创建服务器
                    NetworkSystem.Instance.host();

                    //显示识别图
                    HudManager.Instance.marking();
                    //Desktop.Instance.hud.showImageTarget();
                });
                TaskManager.PushBack(task, delegate
                {
                    //Desktop.Instance.hud.closeImageTarget();
                    //NetworkSystem.Instance.s
                });
                return(task);
            }, this.fsm_, "running");



            state.addAction("select", delegate(FSMEvent evt)
            {
                Database.Instance.godIndex = (int)(evt.obj);
            });
            state.addAction("start", delegate
            {
                WhoIsGod wid = Altar.LocalComponent <WhoIsGod>();
                wid.sheIsGod((uint)(Database.Instance.godIndex));
                //设置控制者,并切换状态。
            });

            //state.addAction("");

            return(state);
        }
Example #28
0
        public override void OnDoubleClick(Mobile from)
        {
            if (!IsChildOf(from.Backpack))
            {
                from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it.
            }
            else if (Altar != null && (Altar.Owner == from || Party.Get(from) == Party.Get(Altar.Owner)))
            {
                if (Altar.Peerless == null)
                {
                    Altar.SpawnBoss();
                }

                Altar.AddFighter(from);
                ParoxysmusAltar.AddProtection(from);
                from.LocalOverheadMessage(MessageType.Regular, 58, 1074603); // You rub the slimy ointment on your body, temporarily protecting yourself from the corrosive river.
                Delete();
            }
        }
Example #29
0
 private void Awake()
 {
     if (Instance != null)
     {
         Destroy(this.gameObject);
     }
     else
     {
         Instance = this;
     }
     ////同一场景的同一物体删了
     //GameObject sameGo = GameObject.Find(this.gameObject.name);
     //if (sameGo.gameObject != this.gameObject)
     //{
     //    Destroy(this.gameObject);
     //}
     //else
     //{   //否则指定单例
     //    Instance = this;
     //}
 }
Example #30
0
        private StateBase server()
        {
            State state = TaskState.Create(delegate {
                Task task = new Task();
                TaskManager.AddAndIsOver(task, delegate
                {
                    return(Model.Instance.hasGod);
                });
                TaskManager.PushFront(task, delegate
                {
                    //创建服务器
                    NetworkSystem.Instance.host();
                    Debug.Log("server");
                    //显示识别图
                    HudManager.Instance.marking();
                });
                TaskManager.PushBack(task, delegate
                {
                    Yggdrasil.Instance.transform.position = Camera.main.transform.position;
                    Yggdrasil.Instance.transform.rotation = Camera.main.transform.rotation;
                });
                return(task);
            }, this.fsm_, "running");



            state.addAction("select", delegate(FSMEvent evt)
            {
                Database.Instance.godIndex = (int)(evt.obj);
            });
            state.addAction("start", delegate
            {
                WhoIsGod wid = Altar.LocalComponent <WhoIsGod>();
                wid.sheIsGod((uint)(Database.Instance.godIndex));
            });

            //state.addAction("");

            return(state);
        }
Example #31
0
        public void HealEffect(Mobile from)
        {
            if (from.Player)
            {
                Hits += from.Hits;
            }
            else
            {
                Hits += from.Hits / 3;
            }

            FixedParticles(0x376A, 9, 32, 5005, EffectLayer.Waist);
            PlaySound(0x1F2);

            Say(1075117);                // Muahahaha!  Your life essence is MINE!

            if (Altar != null)
            {
                Altar.SendMessage(1075120);                    // An unholy aura surrounds Lady Melisande as her wounds begin to close.
            }
            m_NextHeal = DateTime.Now + TimeSpan.FromSeconds(10 + Utility.RandomDouble() * 5);
        }
Example #32
0
        public override void Patch()
        {
            base.Patch();

            ObjectInteraction makeOferring = RogueLibsInteractions.CreateOriginalInteraction("MakeOffering", InteractionType.Button,
                                                                                             (agent, obj) => obj is Altar a && !agent.interactionHelper.interactingFar);

            makeOferring.Action = (_, obj) =>
            {
                Altar altar = (Altar)obj;
                if (altar.offeringsMade >= altar.offeringLimit)
                {
                    altar.gc.audioHandler.Play(altar, "CantDo");
                    return(true);
                }
                altar.interactingAgent.SayDialogue("OfferingMustBeInBuilding");
                altar.commander = altar.interactingAgent;
                altar.interactingAgent.mainGUI.invInterface.ShowTarget(altar, "MakeOffering");
                IEnumerator enumerator = (IEnumerator)AccessTools.Method(typeof(Altar), "MakingOffer").Invoke(altar, new object[0]);
                altar.StartCoroutine(enumerator);
                return(false);
            };
        }
Example #33
0
        private void Game_OnGameUpdate(EventArgs args)
        {
            if (!IsActive())
                return;
            if (Menu.JungleTimer.GetActive())
            {
                foreach (JungleCamp jungleCamp in JungleCamps)
                {
                    if ((jungleCamp.NextRespawnTime - (int) Game.ClockTime) < 0)
                    {
                        jungleCamp.NextRespawnTime = 0;
                        jungleCamp.Called = false;
                    }
                }
            }

            if (Menu.AltarTimer.GetActive())
            {
                var altarDestroyed = new Altar(null, null);
                foreach (Altar altar in Altars)
                {
                    if (altar.Obj.IsValid)
                    {
                        bool hasBuff = false;
                        foreach (BuffInstance buff in altar.Obj.Buffs)
                        {
                            if (buff.Name == "treelinelanternlock")
                            {
                                hasBuff = true;
                                break;
                            }
                        }
                        if (!hasBuff)
                        {
                            altar.Locked = false;
                            altar.NextRespawnTime = 0;
                            altar.Called = false;
                        }
                        else if (hasBuff && altar.Locked == false)
                        {
                            altar.Locked = true;
                            altar.NextRespawnTime = altar.RespawnTime + (int) Game.ClockTime;
                        }
                    }
                    else
                    {
                        if (altar.NextRespawnTime < (int) Game.ClockTime)
                        {
                            altarDestroyed = altar;
                        }
                    }
                }
                if (Altars.Remove(altarDestroyed))
                {
                }
                foreach (Obj_AI_Minion altar in ObjectManager.Get<Obj_AI_Minion>())
                {
                    Altar nAltar = null;
                    if (altar.Name.Contains("Buffplat"))
                    {
                        Altar health1 = Altars.Find(jm => jm.Obj.NetworkId == altar.NetworkId);
                        if (health1 == null)
                            if (altar.Name.Contains("_L"))
                                nAltar = new Altar("Left Altar", altar);
                            else
                                nAltar = new Altar("Right Altar", altar);
                    }

                    if (nAltar != null)
                        Altars.Add(nAltar);
                }
            }

            if (Menu.RelictTimer.GetActive())
            {
                foreach (Relic relic in Relics)
                {
                    if (!relic.Locked && (relic.Obj != null && (!relic.Obj.IsValid || relic.Obj.IsDead)))
                    {
                        if (Game.ClockTime < relic.SpawnTime)
                        {
                            relic.NextRespawnTime = relic.SpawnTime - (int) Game.ClockTime;
                        }
                        else
                        {
                            relic.NextRespawnTime = relic.RespawnTime + (int) Game.ClockTime;
                        }
                        relic.Locked = true;
                    }
                    if ((relic.NextRespawnTime - (int) Game.ClockTime) < 0)
                    {
                        relic.NextRespawnTime = 0;
                        relic.Called = false;
                    }
                }
            }

            //if (Menu.InhibitorTimer.GetActive())
            //{
            //    if (_inhibitors.Inhibitors == null)
            //        return;
            //    foreach (var inhibitor in _inhibitors.Inhibitors)
            //    {
            //        if (inhibitor.Locked)
            //        {
            //            if (inhibitor.NextRespawnTime < Game.ClockTime)
            //            {
            //                inhibitor.Locked = false;
            //            }
            //        }
            //    }
            //}

            if (Menu.HealthTimer.GetActive())
            {
                var healthDestroyed = new Health(null);
                foreach (Health health in Healths)
                {
                    if (health.Obj.IsValid)
                        if (health.Obj.Health > 0)
                        {
                            health.Locked = false;
                            health.NextRespawnTime = 0;
                            health.Called = false;
                        }
                        else if (health.Obj.Health < 1 && health.Locked == false)
                        {
                            health.Locked = true;
                            health.NextRespawnTime = health.RespawnTime + (int) Game.ClockTime;
                        }
                        else
                        {
                            if (health.NextRespawnTime < (int) Game.ClockTime)
                            {
                                healthDestroyed = health;
                            }
                        }
                }
                if (Healths.Remove(healthDestroyed))
                {
                }
                foreach (Obj_AI_Minion health in ObjectManager.Get<Obj_AI_Minion>())
                {
                    Health nHealth = null;
                    if (health.Name.Contains("Health"))
                    {
                        Health health1 = Healths.Find(jm => jm.Obj.NetworkId == health.NetworkId);
                        if (health1 == null)
                            nHealth = new Health(health);
                    }

                    if (nHealth != null)
                        Healths.Add(nHealth);
                }
            }

            if (Menu.InhibitorTimer.GetActive())
            {
                if (_inhibitors.Inhibitors == null)
                    return;
                foreach (Inhibitor inhibitor in _inhibitors.Inhibitors)
                {
                    if (inhibitor.Obj.Health > 0)
                    {
                        inhibitor.Locked = false;
                        inhibitor.NextRespawnTime = 0;
                        inhibitor.Called = false;
                    }
                    else if (inhibitor.Obj.Health < 1 && inhibitor.Locked == false)
                    {
                        inhibitor.Locked = true;
                        inhibitor.NextRespawnTime = inhibitor.RespawnTime + (int) Game.ClockTime;
                    }
                }
            }
        }
 public void SpawnAltar()
 {
     GameObject altarObject = GameObject.Instantiate(altarPrefab) as GameObject;
     altarObject.transform.SetParent(SceneParent);
     Altar altar = altarObject.GetComponent<Altar>();
     Altar = altar;
     altar.Init();
 }
Example #35
0
	void Start ()
	{
		m_altar = GetComponent<Altar>();
		m_altar.ItemPlaced = OnAltarFull;
    }