Ejemplo n.º 1
0
        private Npc SpawnNpc(MonsterId id, Vector3 position)
        {
            GameObject go = Resources.Load("Prefabs/entity/" + id.ToString() + "/" + id.ToString()) as GameObject;

            if (go == null)
            {
                throw new NullReferenceException("Prefabs/entity/" + id.ToString() + "/" + id);
            }

            GameObject result = Object.Instantiate(go, position, Quaternion.identity) as GameObject;
            EnemyData  data   = result.GetComponent <EnemyData>();

            return(RegisterNewNpc(data, id));
        }
Ejemplo n.º 2
0
        public Monster SpawnMonster(MonsterId id, Vector3 position, bool isMinion, int level, int team = 0)
        {
            GameObject go = Resources.Load("Prefabs/entity/" + id.ToString() + "/" + id.ToString()) as GameObject;

            if (go == null)
            {
                throw new NullReferenceException("Prefabs/entity/" + id.ToString() + "/" + id);
            }

            GameObject result = Object.Instantiate(go, position, Quaternion.identity) as GameObject;
            EnemyData  data   = result.GetComponent <EnemyData>();

            Monster m = RegisterNewMonster(data, id, isMinion, level);

            if (team > 0)
            {
                m.Team = team;
            }

            return(m);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Registruje NPC do hry
        /// </summary>
        public Npc RegisterNewNpc(EnemyData data, MonsterId id)
        {
            Npc npc;

            npc = new Npc(id.ToString(), data, MonsterTemplateTable.Instance.GetType(id));
            data.SetOwner(npc);
            npc.Init();

            npc.isMinion = false;
            npc.InitTemplate();

            return(npc);
        }
Ejemplo n.º 4
0
        /*public Monster RegisterNewMonster(EnemyData data, String name, int id, int level, Dictionary<string, string> parameters)
         * {
         *      Monster monster;
         *
         *      MonsterId mId = (MonsterId) Enum.Parse(typeof (MonsterId), ""+id);
         *
         *      MonsterTemplate mt = MonsterTemplateTable.Instance.GetType(mId);
         *
         *      if (mt is BossTemplate)
         *      {
         *              monster = new Boss(name, data, (BossTemplate) mt);
         *      }
         *      else
         *      {
         *              monster = new Monster(name, data, mt);
         *      }
         *
         *      data.SetOwner(monster);
         *      monster.SetLevel(level);
         *
         *      monster.Init();
         *      monster.InitTemplate();
         *
         *      return monster;
         * }*/

        //TODO make use of parameters dictionary to pass level, etc
        /// <summary>
        /// Registruje monstrum do hry podle MonsterID
        /// </summary>
        private Monster RegisterNewMonster(EnemyData data, MonsterId id, bool isMinion, int level, Dictionary <string, string> parameters = null)
        {
            Monster         monster;
            MonsterTemplate mt = MonsterTemplateTable.Instance.GetType(id);

            if (mt is BossTemplate)
            {
                monster = new Boss(id.ToString(), data, (BossTemplate)mt);
            }
            else
            {
                monster = new Monster(id.ToString(), data, mt);
            }

            data.SetOwner(monster);
            monster.SetLevel(level);
            monster.Init();

            monster.isMinion = isMinion;
            monster.InitTemplate();

            return(monster);
        }
Ejemplo n.º 5
0
        public Boss SpawnBoss(MonsterId id, Vector3 position, int level)
        {
            GameObject go = Resources.Load("Prefabs/entity/" + id.ToString() + "/" + id.ToString()) as GameObject;

            if (go == null)
            {
                throw new NullReferenceException("Prefabs/entity/" + id.ToString() + "/" + id);
            }

            GameObject result = Object.Instantiate(go, position, Quaternion.identity) as GameObject;
            EnemyData  data   = result.GetComponent <EnemyData>();

            Monster m = RegisterNewMonster(data, id, false, level);

            if (m is Boss)
            {
                return((Boss)m);
            }
            else
            {
                Debug.LogError("tried to spawn boss - but it was a monster ! fix it in data");
                throw new NullReferenceException();
            }
        }
Ejemplo n.º 6
0
 public override string[] SaveArgs()
 {
     return(new[] { Amount.ToString(), MonsterId.ToString() });
 }