예제 #1
0
    // Start is called before the first frame update
    void Awake()
    {
        _rigi2D = GetComponent <Rigidbody2D>();

        GloablManager.Instance.GameInput.MonsterControll.Jump.performed += callBack => Jump();
        SetMonster(new MonsterInfo(MonsterSet.Get(1)));
    }
예제 #2
0
    public List <EnemyInstance> LoadEnemies(int level, int mission)
    {
        List <EnemyInstance> enemies = new List <EnemyInstance>();

        string path = Application.dataPath + Constants.EnemyJsonPath + level.ToString() + "_" + mission.ToString() + ".json";

        if (File.Exists(path))
        {
            MonsterSet monsterSet = JsonUtility.FromJson <MonsterSet>(File.ReadAllText(path));
            Debug.Log("Load Monsters data Success.");

            foreach (MonsterModel model in monsterSet.Monsters)
            {
                EnemyInstance enemy = new EnemyInstance(model);
                enemies.Add(enemy);
            }
        }
        else
        {
            Debug.Log("Failed to load Characters. The characters json path cannot be found.");
        }


        return(enemies);
    }
예제 #3
0
    private async void Awake()
    {
        base.Awake();

        await GloablManager.Instance.GameInit();

        controller.SetActive(true);
        var monster_1 = new MonsterInfo(MonsterSet.Get(1));
        var monster_2 = new MonsterInfo(MonsterSet.Get(2));

        GloablManager.Instance.PlayerInfo.AddMonster(monster_1);
        GloablManager.Instance.PlayerInfo.AddMonster(monster_2);
        View.CurrentScene.GetView <MonsterInfoView>().SetModel(monster_1);
    }
예제 #4
0
    void InitOneMonster(Transform tf, CopyMonsterData.MonsterData data)
    {
        tf.gameObject.SetActiveRecursively(true);

        UIButton btn = (UIButton)tf.GetComponent(typeof(UIButton));
        //btn.SetInputDelegate(OnScreenBtnInputDel);

        MonsterSet monster = tf.gameObject.GetComponent <MonsterSet>() as MonsterSet;

        if (null == monster)
        {
            monster = tf.gameObject.AddComponent <MonsterSet>() as MonsterSet;
        }

        TagMaskDefine.SetTagRecuisively(tf.gameObject, TagMaskDefine.GFAN_MONSTER);

        monster.UpdateData(data);
        monsterObjs.Add(monster.gameObject);
    }
예제 #5
0
    public async Task Load()
    {
        await ModuleSet.Load();

        await MonsterSet.Load();
    }
예제 #6
0
 public MonsterWrapper(MonsterSet monster)
 {
     this.monster = monster;
 }
예제 #7
0
 public MonsterInfo(MonsterSet monsterSet)
 {
     this.monsterSet = monsterSet;
     EquipModule(new ModuleInfo(monsterSet.birthModule, 5));
     containerLevel = monsterSet.monsterSpecificLevel;
 }
예제 #8
0
        private void SetupMonsterWeightings()
        {
            monsterSets = new List <MonsterSet>();

            var zeroDifficultySet = new MonsterSet(0, 0.6);

            zeroDifficultySet.AddMonsterType(5, new RogueBasin.Creatures.Swarmer());
            zeroDifficultySet.AddMonsterType(20, new RogueBasin.Creatures.MaintBot());
            zeroDifficultySet.AddMonsterType(5, new RogueBasin.Creatures.RotatingTurret());

            monsterSets.Add(zeroDifficultySet);

            var oneDifficultySet = new MonsterSet(1);

            oneDifficultySet.AddMonsterType(20, new RogueBasin.Creatures.Swarmer());
            oneDifficultySet.AddMonsterType(5, new RogueBasin.Creatures.MaintBot());
            oneDifficultySet.AddMonsterType(5, new RogueBasin.Creatures.ExplosiveBarrel());

            monsterSets.Add(oneDifficultySet);

            var oneDifficultySet2 = new MonsterSet(1);

            oneDifficultySet2.AddMonsterType(20, new RogueBasin.Creatures.ServoCyborgMelee());
            oneDifficultySet2.AddMonsterType(20, new RogueBasin.Creatures.ServoCyborgRanged());
            oneDifficultySet2.AddMonsterType(5, new RogueBasin.Creatures.MaintBot());

            monsterSets.Add(oneDifficultySet2);

            var twoDiffSet1 = new MonsterSet(2);

            twoDiffSet1.AddMonsterType(20, new RogueBasin.Creatures.ServoCyborgMelee());
            twoDiffSet1.AddMonsterType(20, new RogueBasin.Creatures.ServoCyborgRanged());
            twoDiffSet1.AddMonsterType(10, new RogueBasin.Creatures.AlertBot());

            monsterSets.Add(twoDiffSet1);

            var twoDifficultySet3 = new MonsterSet(2, 2.0);

            twoDifficultySet3.AddMonsterType(20, new RogueBasin.Creatures.Swarmer());
            twoDifficultySet3.AddMonsterType(5, new RogueBasin.Creatures.MaintBot());
            twoDifficultySet3.AddMonsterType(5, new RogueBasin.Creatures.ExplosiveBarrel());

            monsterSets.Add(twoDifficultySet3);

            var twoDiffSet2 = new MonsterSet(2);

            twoDiffSet2.AddMonsterType(20, new RogueBasin.Creatures.RotatingTurret());
            twoDiffSet2.AddMonsterType(20, new RogueBasin.Creatures.PatrolBotRanged());
            twoDiffSet2.AddMonsterType(5, new RogueBasin.Creatures.RollingBomb());

            monsterSets.Add(twoDiffSet2);

            var threeDiffSet3 = new MonsterSet(3, 1.5);

            threeDiffSet3.AddMonsterType(20, new RogueBasin.Creatures.UberSwarmer());
            threeDiffSet3.AddMonsterType(10, new RogueBasin.Creatures.AlertBot());
            threeDiffSet3.AddMonsterType(20, new RogueBasin.Creatures.ExplosiveBarrel());

            monsterSets.Add(threeDiffSet3);

            var fourDifficultySet = new MonsterSet(4);

            fourDifficultySet.AddMonsterType(50, new RogueBasin.Creatures.WarriorCyborgRanged());
            fourDifficultySet.AddMonsterType(50, new RogueBasin.Creatures.WarriorCyborgMelee());
            fourDifficultySet.AddMonsterType(30, new RogueBasin.Creatures.ExplosiveBarrel());

            monsterSets.Add(fourDifficultySet);

            var fiveDifficultySet = new MonsterSet(5);

            fiveDifficultySet.AddMonsterType(50, new RogueBasin.Creatures.AssaultCyborgRanged());
            fiveDifficultySet.AddMonsterType(50, new RogueBasin.Creatures.AssaultCyborgMelee());
            fiveDifficultySet.AddMonsterType(50, new RogueBasin.Creatures.ExplosiveBarrel());

            var fiveDifficultySet2 = new MonsterSet(5);

            fiveDifficultySet2.AddMonsterType(50, new RogueBasin.Creatures.HeavyBotRanged());
            fiveDifficultySet2.AddMonsterType(50, new RogueBasin.Creatures.HeavyTurret());

            monsterSets.Add(fiveDifficultySet2);

            var fiveDifficultySet3 = new MonsterSet(5);

            fiveDifficultySet3.AddMonsterType(50, new RogueBasin.Creatures.AssaultCyborgMelee());
            fiveDifficultySet3.AddMonsterType(50, new RogueBasin.Creatures.HeavyTurret());
            fiveDifficultySet3.AddMonsterType(10, new RogueBasin.Creatures.AlertBot());

            monsterSets.Add(fiveDifficultySet3);


            /*
             * var monsterTypesToPlace = new List<Tuple<int, Monster>> {
             * //new Tuple<int, Monster>(1, new RogueBasin.Creatures.AlertBot()),
             * new Tuple<int, Monster>(1, new RogueBasin.Creatures.Swarmer()),
             * new Tuple<int, Monster>(1, new RogueBasin.Creatures.MaintBot()),
             * new Tuple<int, Monster>(1, new RogueBasin.Creatures.RotatingTurret()),
             * new Tuple<int, Monster>(50, new RogueBasin.Creatures.WarriorCyborgRanged()),
             * new Tuple<int, Monster>(50, new RogueBasin.Creatures.WarriorCyborgMelee()),
             * new Tuple<int, Monster>(1, new RogueBasin.Creatures.ExplosiveBarrel()),
             * new Tuple<int, Monster>(1, new RogueBasin.Creatures.RollingBomb())
             * };*/
        }