Ejemplo n.º 1
0
    public virtual void tick(float deltaTime)
    {
        if (!PhotonNetwork.IsConnected || photonView.IsMine)
        {
            float travelDuration = Mathf.Max(minTravelDuration, m_travelDuration + m_additionalDuration);
            float delta          = deltaTime / travelDuration;

            // Travel along our path, destroy ourselves once we reach the goal
            m_progress += delta;
            if (updatePositionAlongPath(m_progress))
            {
                // Damage the player
                PlayerController.localPlayer.applyDamage(m_damage);

                AnalyticsHelpers.reportMonsterReachedGoal(this);

                // We destroy ourselves after tick has concluded
                MonsterManager.destroyMonster(this, false);
            }
        }
        else
        {
            // Mimics how PhotonTransformView works
            m_progress = Mathf.MoveTowards(m_progress, m_networkProgress, m_progressDelta * (1.0f / PhotonNetwork.SerializationRate));
            updatePositionAlongPath(m_progress);
        }
    }
Ejemplo n.º 2
0
    public void AttackSequence(int attackerIndex, int defenderIndex, MonsterVisual otherMonsterVisual)
    {
        // Delete arrows
        foreach (LineRenderer lr in arrows)
        {
            Destroy(lr);
        }

        MonsterManager attacker         = slots.Children[attackerIndex].GetComponentInChildren <MonsterManager>();
        Vector3        defenderPosition = otherMonsterVisual.slots.Children[defenderIndex].position;
        Vector3        originalPosition = slots.Children[attackerIndex].transform.position;

        if (owner == AreaPosition.Top)
        {
            defenderPosition = new Vector3(defenderPosition.x, defenderPosition.y + 2, defenderPosition.z);
        }
        else
        {
            defenderPosition = new Vector3(defenderPosition.x, defenderPosition.y - 2, defenderPosition.z);
        }

        Sequence s = DOTween.Sequence();

        s.Append(attacker.transform.DOMove(defenderPosition, 0.5f).SetEase(Ease.InQuint));
        s.OnComplete(() => Command.CommandExecutionComplete());
        s.Append(attacker.transform.DOMove(originalPosition, 0.5f));
    }
Ejemplo n.º 3
0
    public void AddToBar(bool isElite, MonsterManager m)
    {
        standard.SetActive(!isElite);
        elite.SetActive(isElite);
        manager = m;

        for (int i = 0; i < monsters.Length; i++)
        {
            monsters[i].SetActive((int)monster.monsterType == i);
        }

        countText.text = monster.count.ToString();
        lastCount      = monster.count;
        if (monster.specialAbility != null && monster.specialAbility.Contains("Ranged"))
        {
            rangedIcon.SetActive(true);
        }

        hidden = transform.position.x <manager.sbRect.position.x || transform.position.x> manager.sbRect.position.x + (1000f * manager.scalar);

        //Debug.Log( "RECT WIDTH X:" + ( manager.attachRect.rect.width * manager.scalar ) );
        //Debug.Log( "button world X:" + transform.position.x );

        if (!hidden)
        {
            transform.localPosition = new Vector3(transform.localPosition.x, 0, 0);
            transform.DOLocalMoveY(25, .5f);
            cg.DOFade(1, .5f);
        }
    }
Ejemplo n.º 4
0
    void Start()
    {
        if (GameObject.FindGameObjectWithTag("Player"))
        {
            player      = GameObject.FindGameObjectWithTag("Player").transform;
            closestChar = player;
            nav         = GetComponent <UnityEngine.AI.NavMeshAgent>();
        }

        reactions = new GameObject[2];

        for (int i = 0; i < gameObject.transform.childCount; i++)
        {
            Transform reactionsTrans = gameObject.transform.GetChild(i).transform;

            if (reactionsTrans.name == "Reactions")
            {
                for (int j = 0; j < reactionsTrans.childCount; j++)
                {
                    GameObject modelObj = reactionsTrans.GetChild(j).gameObject;

                    reactions[j] = modelObj;
                    modelObj.SetActive(false);
                }
            }
        }

        monManager = (MonsterManager)FindObjectOfType(typeof(MonsterManager));
        InvokeRepeating("UpdateClosestChar", 0, 1.0f);
    }
Ejemplo n.º 5
0
    // Use this for initialization
    void Start()
    {
        m_cInstance = this;
        Dynamic cDynamic = m_objPlayer.GetComponent <Dynamic>();

        cDynamic.Init();
        m_listMonsters    = new List <GameObject>(m_nMonsterMax);
        m_cMonsterManager = new MonsterManager();
        m_cMonsterManager.LoadMonsterInfo();
        m_cNPC.Init();

        for (int i = 0; i < m_nMonsterMax; i++)
        {
            GameObject prefapMonster = Resources.Load("Prefaps/Monster") as GameObject;
            GameObject objMonster    = Instantiate(prefapMonster);
            Player     cMonster      = objMonster.GetComponent <Player>();

            string name = string.Format("Monster{0}", i);
            m_cMonsterManager.SetMonsterInfo("Slime", cMonster);
            cMonster.m_nDebugStatusStartX = 100 * (i + 1);
            m_cResponManager.SetResponPoint(i, objMonster);
            Debug.Log(m_objPlayer.transform.position);
            cMonster.name = name + objMonster.transform.position;

            m_listMonsters.Add(objMonster);
        }
    }
Ejemplo n.º 6
0
    // flips a player's monster card
    public void PlayMonster(MonsterAsset monsterAsset, int index)
    {
        GameObject monster;

        monster = CreateAMonsterAtPosition(monsterAsset, slots.Children[index].position, new Vector3(0f, -179f, 0f));
        MonsterManager monsterManager = monster.GetComponent <MonsterManager>();

        monsterManager.index = index;
        monsterManager.CardFaceGlowImage.enabled = false;
        monsterManagers.Insert(index, monsterManager);

        // pass this monster to HandVisual class
        AddMonster(monster, index);

        // bring monster to front
        WhereIsTheCardOrMonster w = monster.GetComponent <WhereIsTheCardOrMonster>();

        w.BringToFront();
        w.Slot = index;

        // flip monster
        Sequence s = DOTween.Sequence();

        s.Insert(0f, monster.transform.DORotate(Vector3.zero, GameStateSync.Instance.MonsterFlipTime));

        // displace the monster so that we can select it in the scene easier.
        s.Append(monster.transform.DOLocalMove(slots.Children[0].transform.localPosition, GameStateSync.Instance.MonsterFlipTime));

        s.OnComplete(() => ChangeLastCardStatusToInHand(monster, w));
    }
Ejemplo n.º 7
0
    public void toDo(Tower tower, int _skillId)
    {
        if (skillAttackedMonsterArr.ContainsKey(_skillId) || !skillbg.isActiveAndEnabled)
        {
            return;
        }
        Time.timeScale = 1;
        MonsterManager.getInstance().SetMonsterSiblingIndex(0);
        skillId      = _skillId;
        currentSkill = getSkillById(skillId);
        skillbg.gameObject.SetActive(false);
        skill001.gameObject.SetActive(false);
        skill002.gameObject.SetActive(false);
        skill003.gameObject.SetActive(false);
        skill004.gameObject.SetActive(false);
        Skill skilleffect = getSkillDemo(skillId);

        skilleffect.init(currentSkill);
        skilleffect.transform.SetParent(ChapterScene._chapterScene.bg.transform);
        skilleffect.gameObject.SetActive(true);
        skilleffect.transform.localScale = new Vector3(1.0f, 1.0f, 1.0f);
        if (skillType == 9)
        {
            skilleffect.transform.SetSiblingIndex(0);
        }
        else
        {
            skilleffect.transform.SetSiblingIndex(1100);
        }

        skillAttackedMonsterArr[skillId] = new ArrayList();
        skillAttackedMonsterArr [skillId].Add(tower);
        skillAttackedMonsterArr [skillId].Add(skilleffect);
        skillAttackedMonsterArr [skillId].Add(skillType);
        if (skillType >= 3)
        {
            //skillEffect.transform.rotation = skill001.transform.rotation;
            if (skillType == 4)
            {
                skilleffect.transform.position = skill004.transform.position;
            }
            else
            {
                skilleffect.transform.position = skill003.transform.position;
            }

            skillAttackedMonsterArr [skillId].Add(attackNum);
            skillAttackedMonsterArr [skillId].Add(attackInterval);
            skillAttackedMonsterArr [skillId].Add(attackInterval + 1.0f);
        }
        else
        {
            skilleffect.transform.localRotation = skill001.transform.localRotation;
            skilleffect.transform.localPosition = skill001.transform.localPosition;
        }



        //skillEffect.gameObject.SetActive (true);
    }
Ejemplo n.º 8
0
    void Start()
    {
        monHP     = 40;
        monDir    = Random.Range(0, 2);
        monAtk    = 5;
        monAtkSpd = 0.666f;
        monSpd    = 3.75f;
        isAtk     = false;
        isReached = 0;

        player       = GameObject.Find("Player");
        eliteMonster = this.gameObject;
        detectRng    = GameObject.Find(eliteMonster.name + "/Range");
        gridMgr      = player.GetComponentInChildren <GridManager>();
        monMgr       = GameObject.Find("GameManager").GetComponent <MonsterManager>();
        textMesh     = this.GetComponentInChildren <TextMesh>();

        monPos = new Vector3(Random.Range(1, 69), 0, Random.Range(1, 69));

        eliteMonster.transform.position = monPos;

        atkState = new EAttackState(this);
        ptlState = new EPatrolState(this);
        chsState = new EChaseState(this);

        detectRng.GetComponent <Renderer>().enabled = false;
        textMesh.GetComponent <Renderer>().enabled  = false;

        curState = ptlState;
    }
Ejemplo n.º 9
0
        public void AfterWorldLoad()
        {
            StringBuilder sb = new StringBuilder();

            APILogger.LogToFile("-------------------Bosses Loaded----------------------");
            var i = 0;

            foreach (var monster in LoadedAssembalies)
            {
                if (Activator.CreateInstance(monster) is IPandaBoss pandaBoss &&
                    !string.IsNullOrEmpty(pandaBoss.name))
                {
                    sb.Append($"{pandaBoss.name}, ");
                    MonsterManager.AddBoss(pandaBoss);
                    i++;

                    if (i > 5)
                    {
                        i = 0;
                        sb.AppendLine();
                    }
                }
            }

            APILogger.LogToFile(sb.ToString());
            APILogger.LogToFile("------------------------------------------------------");
        }
Ejemplo n.º 10
0
    public void submitAnswer()
    {
        if (SelectedAnswer == null)
        {
            submit.interactable = false;
            return;
        }
        if (!MonsterManager)
        {
            MonsterManager = FindObjectOfType <MonsterManager>();
        }

        if (SelectedAnswer.getAnswer() == enemyAnswerNeeded)
        {
            MonsterManager.currentEnemy.MonsterHurt();
        }
        else
        {
            MonsterManager.currentEnemy.EnemyAttack();
        }

        submit.interactable = false;
        SelectedAnswer.GetComponent <Image>().color = Color.white;
        SelectedAnswer = null;
    }
Ejemplo n.º 11
0
    //RandomStateChange
    public static IEnumerator ChangeState(this MonsterManager monster)
    {
        MonsterActions RandomChangeAction = monster.GetRandomMonsterAction <MonsterActions>();

        while (monster.Player != null)
        {
            //while (monster.Ani.GetCurrentAnimatorStateInfo(0).normalizedTime <= 1.0f)
            //{
            if (RandomChangeAction == monster.currentAction)
            {
                RandomChangeAction = monster.GetRandomMonsterAction <MonsterActions>();
            }
            yield return(null);

            //}

            if (!monster.IsTargetPosReach)
            {
                yield return(null);

                continue;
            }

            if (monster.currentState == MonsterStates.Dead)
            {
                break;
            }

            monster.setAction(RandomChangeAction);
            yield return(CoroutineManager.Instance.Delay);
        }
        yield return(null);
    }
Ejemplo n.º 12
0
        public void DarknessTest()
        {
            // Ensure normal base stats
            Monster monster = MonsterManager.GetMonsterByName("LegEater");

            Assert.IsFalse(monster.HasPermStatus(PermStatus.Darkness));
            Assert.AreEqual(60, monster.Accuracy);

            // Test intended effects: Halves accuracy
            monster.AddPermStatus(PermStatus.Darkness);
            Assert.AreEqual(30, monster.Accuracy);
            monster.RemovePermStatus(PermStatus.Darkness);
            Assert.AreEqual(60, monster.Accuracy);

            // Ensure values are rounded down
            monster.Accuracy = 61; // Temp stat adjustment
            Assert.AreEqual(61, monster.Accuracy);
            monster.AddPermStatus(PermStatus.Darkness);
            Assert.AreEqual(30, monster.Accuracy);
            monster.RemovePermStatus(PermStatus.Darkness);
            Assert.AreEqual(61, monster.Accuracy);
            monster.Accuracy = 60; // Set it back

            // TODO: Esuna 1, Eyedrops removes status check
        }
Ejemplo n.º 13
0
	void Awake()
    {
        //hide message text
		gameOverText.gameObject.SetActive(false);
		isGameOver = false;
        
        //get manager
        mItemManager = GetComponent<ItemManager>();
        mMonsterManager = GetComponent<MonsterManager>();
        mMapManager = GetComponent<MapManager>();

        //get character setting
		mSetUp = (SetUpManager)FindObjectOfType<SetUpManager> ();
		mPlayerData = new List<CharacterSetupManager>(mSetUp.transform.GetComponentsInChildren<CharacterSetupManager>());
		PlayerCount = mPlayerData.Count;
		PlayerLeft = PlayerCount;
		Debug.Log ("playerCount: " + PlayerCount);

        //get map setting
		mMapManager.setMapList (mSetUp.mapList);

        //build player list
		mPlayerList = new List<Damagable> ();
        mPlayerPositionIndex = new List<int>();

        //build item list
        mItemOnMapList = new List<Item>();
        mItemOnMapPositionIndex = new List<int>();
        mItemSpawnCounters = new List<float>();

        //build monster list
        //....

        mGameStage = GameStage.Init;
	}
Ejemplo n.º 14
0
 void Start()
 {
     //몬스터 이동 제한줄 펜스 접근
     frogFenceFL = GameObject.FindGameObjectWithTag("FrogFenceFL");
     frogFenceBR = GameObject.FindGameObjectWithTag("FrogFenceBR");
     //플레이어(타겟)에 접근
     target = playerTr.gameObject;
     //monsterManager 스크립트에 접근
     monsterManagerTag = FindTag.getInstance().monsterManager;
     monsterManagerTr  = Find.getInstance().FindTagTransform(monsterManagerTag);
     monsterManagerSc  = monsterManagerTr.GetComponent <MonsterManager>();
     //monsterCtrl 스크립트에 접근
     monsterCtrl = transform.GetComponent <MonsterCtrl>();
     //현재 몬스터의 정보
     currentInfo = new MonsterInfo(monsterManagerSc.monsterInfos[1].Name, monsterManagerSc.monsterInfos[1].Hp, monsterManagerSc.monsterInfos[1].Atk, monsterManagerSc.monsterInfos[1].Def, monsterManagerSc.monsterInfos[1].Dex, monsterManagerSc.monsterInfos[1].Exp, monsterManagerSc.monsterInfos[1].Prefab, monsterManagerSc.monsterInfos[1].MonsterAni);
     //몬스터 모아놓을 곳 접근
     frogHiveTag = FindTag.getInstance().frogHive;
     frogHiveTr  = Find.getInstance().FindTagTransform(frogHiveTag);
     //애니메이션 제어 하기위해 접근
     ani = transform.GetChild(0).GetComponent <Animation>();
     //아이템 정보에 접근하기위해 접근
     databaseTag   = FindTag.getInstance().dataBase;
     databaseTr    = Find.getInstance().FindTagTransform(databaseTag);
     itemManagerSc = databaseTr.GetComponent <ItemManager>();
 }
Ejemplo n.º 15
0
    internal void  makeVisible()
    {
        if (!isVisible)
        {
            isVisible = true;

            switch (thisIs)
            {
            case Immovables.Wall:
                GameObject.Instantiate(GameManagerScript.Wall, myPosition, Quaternion.identity);

                break;

            case Immovables.Space:

                GameObject.Instantiate(GameManagerScript.Wall, myPosition + Vector3.down, Quaternion.identity);
                break;
            }
            generateItemGOHere(GameManagerScript.items);
            if ((EnemyHere != null) && !EnemyHere.GOCreated)
            {
                EnemyControl newMonster = MonsterManager.create(EnemyHere);
                newMonster.transform.position = myPosition;
            }
        }
    }
Ejemplo n.º 16
0
    void Start()
    {
        fenceFL = GameObject.FindGameObjectWithTag("FenceFL");
        fenceBR = GameObject.FindGameObjectWithTag("FenceBR");

        target = playerTr.gameObject;

        monsterManagerTag = FindTag.getInstance().monsterManager;
        monsterManagerTr  = Find.getInstance().FindTagTransform(monsterManagerTag);
        monsterManagerSc  = monsterManagerTr.GetComponent <MonsterManager>();

        monsterCtrl = transform.GetComponent <MonsterCtrl>();

        currentInfo = new MonsterInfo(monsterManagerSc.monsterInfos[0].Name, monsterManagerSc.monsterInfos[0].Hp, monsterManagerSc.monsterInfos[0].Atk, monsterManagerSc.monsterInfos[0].Def, monsterManagerSc.monsterInfos[0].Dex, monsterManagerSc.monsterInfos[0].Exp, monsterManagerSc.monsterInfos[0].Prefab, monsterManagerSc.monsterInfos[0].MonsterAni);

        bDragonDeadTag = FindTag.getInstance().bDragonDead;
        bDragonDeadTr  = Find.getInstance().FindTagTransform(bDragonDeadTag);

        bDragonHiveTag = FindTag.getInstance().bDragonHive;
        bDragonHiveTr  = Find.getInstance().FindTagTransform(bDragonHiveTag);

        ani = transform.GetChild(0).GetComponent <Animation>();

        databaseTag   = FindTag.getInstance().dataBase;
        databaseTr    = Find.getInstance().FindTagTransform(databaseTag);
        itemManagerSc = databaseTr.GetComponent <ItemManager>();
    }
Ejemplo n.º 17
0
    void Start()
    {
        Instance = this;

        CreateMonster("mon07", 0, spwnPoints[0].transform);
        CreateMonster("mon09", 1, spwnPoints[1].transform);
    }
 private void Start()
 {
     monsterManager      = FindObjectOfType <MonsterManager>();
     correspondingTurret = transform.parent.GetComponentInParent <Turret>();
     turretManager       = FindObjectOfType <TurretManager>();
     camera = FindObjectOfType <Camera>();
 }
Ejemplo n.º 19
0
    internal void ready()
    {
        if (parent == null)
        {
            parent = FindObjectOfType <MonsterManager>();
        }
        button    = parent.quizRunning;
        container = button.parent;

        if (!combatState)
        {
            combatState = FindObjectOfType <CombatStateManager>();
        }


        if (button.Operator > operators.Division)
        {
            if (!combatState.CanContinueFort(button.quizIndex + 1))
            {
                gameObject.SetActive(false);
                return;
            }
        }


        if (!button.Hard && button.quizIndex < (container.buttons.Length - 1))
        {
            gameObject.SetActive(true);
        }
        else
        {
            gameObject.SetActive(false);
        }
    }
Ejemplo n.º 20
0
    void Awake()
    {
        Instance = this;
        Initialize();

        mobInfo = CsvReader.Read("MobInfoCsv");
    }
Ejemplo n.º 21
0
    IEnumerator GetMonsters()
    {
        List <Monster> monsters = new List <Monster>();

        using (var request = UnityWebRequest.Get("https://backend.josiahkhoo.me/api/monsters/"))
        {
            yield return(request.SendWebRequest());

            var response = JSON.Parse(request.downloadHandler.text);
            if (request.responseCode == 200)
            {
                print(response);
                var monstersArray = response["data"];
                for (int i = 0; i < monstersArray.Count; i++)
                {
                    var     monsterJson = monstersArray[i];
                    Monster monster     = MonsterManager.GetMonsterFromString(monsterJson.ToString());
                    monsters.Add(monster);
                }
            }
        }
        foreach (Monster monster in monsters)
        {
            GameObject           bossOption = Instantiate(BossOptionPrefab) as GameObject;
            BossOptionController controller = bossOption.GetComponent <BossOptionController>();
            controller.monster   = monster;
            controller.Name.text = monster.name;
            // controller.Level.text = string.Format("Lvl: {0}", monster.level.ToString());
            controller.Duration.text = string.Format("{0} minutes", (monster.duration / 60).ToString());
            // controller.Duration.text = monster.duration.ToString();
            // sets parent of the character option to the grid
            controller.transform.parent = GridBossOptions.transform;
        }
    }
Ejemplo n.º 22
0
    /// <summary>
    /// Changes the team member. 更改队伍类型
    /// </summary>
    public void ChangeTeamMember(BaseHttpRequest request, BaseResponse response, MonsterManager monManager)
    {
        if (request != null && response != null && monManager != null)
        {
            ChangeTeamMemberResponse resp = response as ChangeTeamMemberResponse;

            if (resp != null && resp.data)
            {
                if (request.baseType == BaseHttpRequestType.Common_Http_Request)
                {
                    HttpRequest req = request as HttpRequest;
                    if (req != null)
                    {
                        ChangeTeamMemberParam param = req.ParamMem as ChangeTeamMemberParam;
                        if (param != null)
                        {
                            //获取编队
                            MonsterTeam team = RTData.getTeam(param.tmid);
                            //获取宠物
                            Monster mon = monManager.getMonsterById(param.droleid);
                            if (team != null && mon != null)
                            {
                                team.setMember(mon, param.pos - 1);
                            }
                            else if (team != null)
                            {                             //如果不换上新宠物的话
                                team.removeMember(param.pos - 1);
                            }
                        }
                    }
                }
            }
        }
    }
Ejemplo n.º 23
0
    //创建Save对象,并存储当前游戏信息
    public Save CreateSaveObject()
    {
        Save save = new Save();

        //遍历格子获取信息
        foreach (GameObject grid in monsterGrids)
        {
            MonsterManager mm = grid.GetComponent <MonsterManager>();
            //若格子存在激活怪物
            if (mm.activeMonster != null && mm.activeMonster.GetComponent <Monster>() != null)
            {
                if (mm.activeMonster.GetComponent <Monster>().die == false)
                {
                    int[] info = new int[2];
                    //将格子的位置存储
                    info[0] = mm.gridPos;
                    //将怪物类型存储
                    info[1] = mm.activeMonster.GetComponent <Monster>().type;
                    save.grid.Add(info);
                }
            }
            //Debug.Log(save.grid.Count);
            save.score = score;
            save.bgm   = isOn;
        }
        return(save);
    }
Ejemplo n.º 24
0
    ///////////////////////End of Variables/////////////////////////



    ///////////////////////////Functions////////////////////////////

    // Use this for initialization
    void Start()
    {
        // Script references
        questManager      = GameObject.FindGameObjectWithTag(Tags.gameControllerTag).GetComponent <QuestManager>();
        monsterManager    = GameObject.FindGameObjectWithTag(Tags.gameControllerTag).GetComponent <MonsterManager>();
        monsterController = GetComponent <MonsterController>();
    }
Ejemplo n.º 25
0
        public static void OnUpdate()
        {
            if (!World.Initialized)
            {
                return;
            }

            var secondsSinceStartDouble = Pipliz.Time.SecondsSinceStartDouble;

            if (_nextUpdateTime < secondsSinceStartDouble)
            {
                IMonster m = null;

                foreach (var monster in MonsterManager.GetAllMonsters())
                {
                    if (m == null || UnityEngine.Vector3.Distance(monster.Value.Position, m.Position) > 15 && Pipliz.Random.NextBool())
                    {
                        m = monster.Value;
                        AudioManager.SendAudio(monster.Value.Position, GameLoader.NAMESPACE + ".ZombieAudio");
                    }
                }

                _nextUpdateTime = secondsSinceStartDouble + 5;
            }
        }
Ejemplo n.º 26
0
 void Start()
 {
     globalManager  = GameObject.Find("GlobalManager").GetComponent <GlobalManager>();
     monsterManager = GameObject.Find("MonsterManager").GetComponent <MonsterManager>();
     skillManager   = GameObject.Find("SkillManager").GetComponent <SkillManager>();
     monsterPanel   = GameObject.Find("MonsterPanel").gameObject;
 }
Ejemplo n.º 27
0
    public void Update()
    {
        if (this.hp <= 0)
        {
            MonsterManager monsterManager = GameObject.Find("center").GetComponent <MonsterManager>();
            monsterManager.DeadMonster(gameObject);
        }

        Building building;

        this.home = buildingManager.home;
        building  = buildingManager.GetMostCloseBuilding(transform.position);

        float pDistance = 0;

        if (player != null)
        {
            pDistance = ((Vector2)player.transform.position - (Vector2)this.transform.position).magnitude;
        }

        if (building.GetBetweenDistanceFloat(transform.position) < atkRange || (player != null && pDistance < atkRange))
        {
            attack();
        }
        else
        {
            goToHome();
        }
        attackRegister -= atkSpeed;
    }
Ejemplo n.º 28
0
    public void onAttack()     //怪物攻击防御塔
    {
        List <Monster> list = MonsterManager.getInstance().getMonstersByRect(range, isAttackAny);

        for (int i = 0; i < list.Count; i++)
        {
            Monster monster = list [i];
            if (attacKType == 0)              //近战
            //monster.onStopToAttack (this);
            {
                if (isCanAttackMonster)
                {
                    if (monster.currentHP > 0)
                    {
                        monster.currentHP -= this.damage;
                        monster.changHp();
                    }
                }
            }
            else
            {
                SimpleSkill _simpleSkill = (SimpleSkill)PoolManager.getInstance().getGameObject("simple_skill");

                _simpleSkill.transform.SetParent(this.transform.parent.transform);
                _simpleSkill.transform.localPosition = this.transform.localPosition;
                _simpleSkill.init("skill/zidan", monster);
                //break;
            }
        }
    }
Ejemplo n.º 29
0
 public static void ClassInit(TestContext context)
 {
     MonsterManager.Initialize();
     MonsterManager.LoadContent();
     SpellManager.Initialize();
     SpellManager.LoadContent();
 }
Ejemplo n.º 30
0
        public void SleepTest()
        {
            // Ensure normal base stats
            Monster monster = MonsterManager.GetMonsterByName("LegEater");

            Assert.IsFalse(monster.HasTempStatus(TempStatus.Sleep));
            Assert.AreEqual(0, monster.Evasion);

            // Test that the status can be applied and removed
            monster.AddTempStatus(TempStatus.Sleep);
            Assert.IsTrue(monster.HasTempStatus(TempStatus.Sleep));
            monster.RemoveTempStatus(TempStatus.Sleep);
            Assert.IsFalse(monster.HasTempStatus(TempStatus.Sleep));

            // Test intended effects: No actions, no Evasion
            monster.Evasion = 10; // Temp stat change
            Assert.AreEqual(10, monster.Evasion);
            // TODO: Get action from monster
            monster.AddTempStatus(TempStatus.Sleep);
            Assert.AreEqual(0, monster.Evasion);
            // TODO: Ensure no action from monster
            monster.RemoveTempStatus(TempStatus.Sleep);
            Assert.AreEqual(10, monster.Evasion);
            // TODO: Get action from monster
            monster.Evasion = 0; // Set stat back

            // TODO: Basuna 1 removes status check
            // TODO: Chance to cure self after turn check
        }
Ejemplo n.º 31
0
    public override void OnEndDrag()
    {
        GameObject target = DragTarget();

        // turn off user monster highlights
        PlayerArea area = GameStateSync.Instance.opponentArea;

        area.monsterVisual.turnOffAllHighlights();

        if (target != null)
        {
            MonsterManager monsterManager = target.GetComponent <MonsterManager>();
            // set attack target
            GameStateSync.Instance.attackRequest.targets.Add(monsterManager.index);
            GameStateSync.Instance.attackRequest.damages.Add(0);
            // send attack request
            GameStateSync.Instance.MakeAttack();
        }
        else
        {
            // highlight monster again
            GetComponentInParent <MonsterManager>().CardFaceGlowImage.enabled = true;
        }

        transform.localPosition = new Vector3(0f, 0f, 0.4f);
        sr.enabled         = false;
        lr.enabled         = false;
        triangleSR.enabled = false;
    }
Ejemplo n.º 32
0
 // Use this for initialization
 void Start()
 {
     m_MonsterManager = monsterControl.GetComponent<MonsterManager>();
     timeShown = gameObject.GetComponent<Text>();
     TimetoWin = MaxTime;
     lastUpdate = Time.time;
     timeShown.text = System.Convert.ToString(TimetoWin);
 }
 // a voir
 /// <summary>
 /// Spawns the monster.
 /// </summary>
 public void SpawnMonster()
 {
     GameObject newMonster = (GameObject) Instantiate(MyMonsterPrefab, transform.position, transform.rotation);	// Creation du monstre
     newMonster.name = "Monster spawné n° : " + monsterNumber.ToString();										// Changement de nom
     monsterNumber++;																							// Pour le nom du prochain mob
     MonsterManagerSCR = newMonster.GetComponent<MonsterManager>();												// Pour l'initialisation
     MonsterManagerSCR.InitializeMonster();																		// Initialisation du hero
 }
Ejemplo n.º 34
0
 void Awake()
 {
     if (it == null)
     {
         it = this;
         Init();
         DontDestroyOnLoad(gameObject);
     }
     else if (it != this)
     {
         Destroy(gameObject);
     }
 }
Ejemplo n.º 35
0
	/// <summary>
	/// Awake this instance.
	/// </summary>
	protected virtual void Awake()
	{
		m_ResourceManager = GameEngine.GetSingleton ().QueryPlugin<IResourceManager> ();
		if (!m_ResourceManager)
			throw new System.NullReferenceException ();

		m_Logic = GameEngine.GetSingleton().QueryPlugin<LogicPlugin>();
		if (!m_Logic)
			throw new System.NullReferenceException();

		// register main player create factory
		m_PlayerManager 	= GameEngine.GetSingleton ().QueryPlugin<PlayerManager> ();
		m_MonsterManager 	= GameEngine.GetSingleton ().QueryPlugin<MonsterManager> ();
	}
Ejemplo n.º 36
0
  protected override void initializeRest() {
    monm = (MonsterManager)objectsManager;

    speed_runaway = monm.speed_runaway;
    speed_weaken = monm.speed_weaken;

    float lifeTime = Random.Range(monm.minLifeTime, monm.maxLifeTime);
    minimonRespawnTime = lifeTime / monm.numMinimonRespawn;

    m_renderer = GetComponent<Renderer>();
    originalColor = m_renderer.material.GetColor("_OutlineColor");
    beatAnimation = GetComponent<Animation>();
    beatAnimation.wrapMode = WrapMode.Once;
    RhythmManager.rm.registerCallback(GetInstanceID(), () => {
      beatAnimation.Play();
    });
  }
Ejemplo n.º 37
0
	/// <summary>
	/// Initializes a new instance of the <see cref="BaseEntityState"/> class.
	/// </summary>
	/// <param name="nStateID">N state I.</param>
	/// <param name="entity">Entity.</param>
	public BaseEntityState(int nStateID, IEntity entity)
		: base(nStateID)
	{
		m_ResourceManager = GameEngine.GetSingleton().QueryPlugin<IResourceManager>();
		if (!m_ResourceManager)
			throw new System.NullReferenceException();

		m_PlayerManager = GameEngine.GetSingleton().QueryPlugin<PlayerManager>();
		if (!m_PlayerManager)
			throw new System.NullReferenceException();

		m_MonsterManager = GameEngine.GetSingleton().QueryPlugin<MonsterManager>();
		if (!m_MonsterManager)
			throw new System.NullReferenceException();

		m_Entity = entity as ICharacterEntity;
	}
Ejemplo n.º 38
0
	/// <summary>
	/// Awake this instance.
	/// </summary>
	void Awake()
	{
		m_MonsterManager 	= GameEngine.GetSingleton().QueryPlugin<MonsterManager>();
		if (!m_MonsterManager)
			throw new System.NullReferenceException();

		m_PlayerManager		= GameEngine.GetSingleton().QueryPlugin<PlayerManager>();
		if (!m_PlayerManager)
			throw new System.NullReferenceException();

		m_PlayerSyncManager = GameEngine.GetSingleton().QueryPlugin<IPlayerSyncManager>();
		if (!m_PlayerSyncManager)
			throw new System.NullReferenceException();

		m_MonsterSyncManager = GameEngine.GetSingleton().QueryPlugin<IMonsterSyncManager>();
		if (!m_MonsterSyncManager)
			throw new System.NullReferenceException();

		RegisterNetEventFactory();
	}
Ejemplo n.º 39
0
 public void Spawn(int c, int r, string mon)
 {
     col = c;
     row = r;
     color = mon;
     manager = transform.parent.GetComponent<MonsterManager>();
     numSegment = manager.getSegmentAtStartPosition(c, r);
 }
Ejemplo n.º 40
0
 void Awake()
 {
     instance = this;
 }
Ejemplo n.º 41
0
 void Awake()
 {
     _instance = this;
     //DontDestroyOnLoad(gameObject);
 }
Ejemplo n.º 42
0
 // Use this for initialization
 void Start()
 {
     Instance = this;
     Monsters = new Dictionary<int, SkeletonBehaviour>();
 }
Ejemplo n.º 43
0
 protected override void initializeRest() {
   monm = (MonsterManager)objectsManager;
   speed_chase = monm.speed + monm.minimonAdditionalSpeed;
 }
Ejemplo n.º 44
0
	/// <summary>
	/// Awake this instance.
	/// </summary>
	void Awake()
	{
		m_MonsterManager 	= GameEngine.GetSingleton().QueryPlugin<MonsterManager>();
		m_PlayerManagr		= GameEngine.GetSingleton().QueryPlugin<PlayerManager>();
	}
Ejemplo n.º 45
0
    private void OnMainSceneLoaded()
    {
        deathCounter = 0;
        CreateHeroicGroup();

        monsters = instance.gameObject.AddComponent<MonsterManager>();
        instance.gameObject.AddComponent<InputManager>();
        items = instance.gameObject.AddComponent<ItemManager>();

        Camera.main.GetComponent<FollowOffset>().target = heroicGroup.leader.transform;
        state = State.PLAYING;
    }