public bool Deserialize(ref MonsterSpawnList element)
        {
            if (GetDataSize() == 0)
            {
                // 데이터가 설정되지 않았다.
                return(false);
            }

            bool ret         = true;
            byte monsterKind = 0;
            byte monsterNum  = 0;
            byte monsterId   = 0;

            ret    &= Deserialize(ref monsterKind);
            element = new MonsterSpawnList(monsterKind);

            for (int i = 0; i < monsterKind; i++)
            {
                ret &= Deserialize(ref monsterId);
                ret &= Deserialize(ref monsterNum);

                element.MonsterSpawnData[i] = new MonsterSpawnData(monsterId, monsterNum);
            }

            return(ret);
        }
示例#2
0
    //Server - 던전 몬스터 소환 데이터 수신
    public void MonsterSpawnList(DataPacket packet)
    {
        Debug.Log("던전 몬스터 소환 데이터 수신");

        MonsterSpawnListPacket monsterSpawnListPacket = new MonsterSpawnListPacket(packet.msg);
        MonsterSpawnList       monsterSpawnList       = monsterSpawnListPacket.GetData();

        dungeonManager.SetMonsterSpawnList(monsterSpawnList);
    }
    public void SetMonsterSpawnList(MonsterSpawnList newMonsterSpawnList)
    {
        monsterSpawnList = newMonsterSpawnList;
        monsters         = new GameObject[monsterSpawnList.MonsterNum];
        monsterData      = new Monster[monsterSpawnList.MonsterNum];

        for (int monsterIndex = 0; monsterIndex < monsterSpawnList.MonsterNum; monsterIndex++)
        {
            monsterData[monsterIndex] = new Monster();
        }
    }
        public bool Serialize(MonsterSpawnList data)
        {
            bool ret = true;

            ret &= Serialize(data.MonsterKind);

            for (int i = 0; i < data.MonsterKind; i++)
            {
                ret &= Serialize(data.MonsterSpawnData[i].MonsterId);
                ret &= Serialize(data.MonsterSpawnData[i].MonsterNum);
            }

            return(ret);
        }
    void Start()
    {
        //SceneManager = this.scene;
        //test
        if (GameObject.FindGameObjectWithTag("GameManager") == null)
        {
            players = GameObject.FindGameObjectsWithTag("Player");
        }

        //Instantiate 스폰포인트 생성조건 - > mapNumber != 2;

//		if (scenmanager.name == ("ProtoTypeCoPy3")) {
        mapNumber = 3;
//		}
        if (mapNumber == 2)
        {
            normalMode = false;
        }
        if (mapNumber != 2)
        {
            normalMode = true;
        }

        DungeonConstruct();

        if (GameObject.FindGameObjectWithTag("GameManager") == null)
        {
            InitializeMonsterSpawnPoint();

//			if(mapNumber==3){
            MonsterSpawnData[] monsterSpawnData = new MonsterSpawnData[4];
            monsterSpawnData[0] = new MonsterSpawnData((int)MonsterId.Frog, 3);
            monsterSpawnData[1] = new MonsterSpawnData((int)MonsterId.Duck, 4);
            monsterSpawnData[2] = new MonsterSpawnData((int)MonsterId.Rabbit, 1);
            monsterSpawnData[3] = new MonsterSpawnData((int)MonsterId.BlackBear, 1);
            monsterSpawnList    = new MonsterSpawnList(4, monsterSpawnData);

            MonsterBaseData[] monsterBaseData = new MonsterBaseData[4];
            monsterBaseData[0] = new MonsterBaseData((int)MonsterId.Frog, "Frog");
            monsterBaseData[0].AddLevelData(new MonsterLevelData(1, 2, 0, 30, 5));
            monsterBaseData[1] = new MonsterBaseData((int)MonsterId.Duck, "Duck");
            monsterBaseData[1].AddLevelData(new MonsterLevelData(1, 3, 0, 35, 4));
            monsterBaseData[2] = new MonsterBaseData((int)MonsterId.Rabbit, "Rabbit");
            monsterBaseData[2].AddLevelData(new MonsterLevelData(1, 5, 0, 1000, 4));
            monsterBaseData[3] = new MonsterBaseData((int)MonsterId.BlackBear, "BlackBear");
            monsterBaseData[3].AddLevelData(new MonsterLevelData(1, 5, 0, 1000, 1));
            dungeonData = new MonsterStatusData(4, monsterBaseData);
//			}

//			if (mapNumber == 1) {
//				MonsterSpawnData[] monsterSpawnData = new MonsterSpawnData[3];
//				monsterSpawnData[0] = new MonsterSpawnData((int)MonsterId.Frog, 3);
//				monsterSpawnData[1] = new MonsterSpawnData((int)MonsterId.Duck, 3);
//				monsterSpawnData[2] = new MonsterSpawnData((int)MonsterId.Rabbit, 2);
//				monsterSpawnList = new MonsterSpawnList(3, monsterSpawnData);
//
//				MonsterBaseData[] monsterBaseData = new MonsterBaseData[3];
//				monsterBaseData[0] = new MonsterBaseData((int)MonsterId.Frog, "Frog");
//				monsterBaseData[0].AddLevelData(new MonsterLevelData(1, 2, 0, 30, 5));
//				monsterBaseData[1] = new MonsterBaseData((int)MonsterId.Duck, "Duck");
//				monsterBaseData[1].AddLevelData(new MonsterLevelData(1, 3, 0, 35, 4));
//				monsterBaseData[2] = new MonsterBaseData((int)MonsterId.Rabbit, "Rabbit");
//				monsterBaseData[2].AddLevelData(new MonsterLevelData(1, 5, 0, 100, 4));
//
//				dungeonData = new MonsterStatusData(3, monsterBaseData);
//			}

//            MonsterSpawnData[] monsterSpawnData = new MonsterSpawnData[4];
//            monsterSpawnData[0] = new MonsterSpawnData((int)MonsterId.Frog, 3);
//            monsterSpawnData[1] = new MonsterSpawnData((int)MonsterId.Duck, 4);
//            monsterSpawnData[2] = new MonsterSpawnData((int)MonsterId.Rabbit, 1);
//			monsterSpawnData[3] = new MonsterSpawnData((int)MonsterId.BlackBear, 1);
//            monsterSpawnList = new MonsterSpawnList(4, monsterSpawnData);
//
//            MonsterBaseData[] monsterBaseData = new MonsterBaseData[4];
//            monsterBaseData[0] = new MonsterBaseData((int)MonsterId.Frog, "Frog");
//            monsterBaseData[0].AddLevelData(new MonsterLevelData(1, 2, 0, 30, 5));
//            monsterBaseData[1] = new MonsterBaseData((int)MonsterId.Duck, "Duck");
//            monsterBaseData[1].AddLevelData(new MonsterLevelData(1, 3, 0, 35, 4));
//            monsterBaseData[2] = new MonsterBaseData((int)MonsterId.Rabbit, "Rabbit");
//            monsterBaseData[2].AddLevelData(new MonsterLevelData(1, 5, 0, 100, 4));
//			monsterBaseData[3] = new MonsterBaseData((int)MonsterId.BlackBear, "BlackBear");
//			monsterBaseData[3].AddLevelData(new MonsterLevelData(1, 5, 0, 1000, 4));
//            dungeonData = new MonsterStatusData(4, monsterBaseData);

            SetMonsterSpawnList(monsterSpawnList);
            SpawnMonster();
            SetMonsterStatus();
        }
//		if (GameObject.FindGameObjectWithTag("GameManager") == null)
//		{
//			//스폰 포인트 찾기
//			InitializeMonsterSpawnPoint();
//
//			//서버에서 온 데이터 : monsterSpawnData
//			//여기서는 직접 데이터를 설정
//			MonsterSpawnData[] monsterSpawnData = new MonsterSpawnData[1];
//			monsterSpawnData[0] = new MonsterSpawnData((int)MonsterId.Bear, 1);
//			//monsterSpawnData[1] = new MonsterSpawnData((int)MonsterId.BlackBear, 1);
//
//			//던전 데이터에서 몬스터 스폰 리스트를 monsterSpawnData로 설정
//			//그러면 몬스터 생성 숫자가 설정됨(종류, 개수)
//			monsterSpawnList = new MonsterSpawnList(1, monsterSpawnData);
//
//			//서버에서 온 데이터 : monsterBaseData
//			MonsterBaseData[] monsterBaseData = new MonsterBaseData[1];
//			monsterBaseData[0] = new MonsterBaseData((int)MonsterId.Bear, "Bear");
//			monsterBaseData[0].AddLevelData(new MonsterLevelData(1, 2, 0, 30,1));
//
//			//던전 데이터에서 몬스터 스탯테이블을 monsterBaseData로 설정
//			//그러면 위의 몬스터 생성할때 스탯이 이렇게 설정됨
//			dungeonData = new MonsterStatusData(1, monsterBaseData);
//
//			SpawnMonster();
//			SetMonsterStatus();
//		}
    }
示例#6
0
    void Start()
    {
        //test
        if (GameObject.FindGameObjectWithTag("GameManager") == null)
        {
            players = GameObject.FindGameObjectsWithTag("Player");
        }

        //Instantiate 스폰포인트 생성조건 - > mapNumber != 2;
        mapNumber  = 2;
        normalMode = false;

        DungeonConstruct();

        if (GameObject.FindGameObjectWithTag("GameManager") == null)
        {
            InitializeMonsterSpawnPoint();

            MonsterSpawnData[] monsterSpawnData = new MonsterSpawnData[3];
            monsterSpawnData[0] = new MonsterSpawnData((int)MonsterId.Frog, 9);
            monsterSpawnData[1] = new MonsterSpawnData((int)MonsterId.Duck, 12);
            monsterSpawnData[2] = new MonsterSpawnData((int)MonsterId.Rabbit, 6);
            monsterSpawnList    = new MonsterSpawnList(3, monsterSpawnData);

            MonsterBaseData[] monsterBaseData = new MonsterBaseData[3];
            monsterBaseData[0] = new MonsterBaseData((int)MonsterId.Frog, "Frog");
            monsterBaseData[0].AddLevelData(new MonsterLevelData(1, 2, 0, 30, 5));
            monsterBaseData[1] = new MonsterBaseData((int)MonsterId.Duck, "Duck");
            monsterBaseData[1].AddLevelData(new MonsterLevelData(1, 3, 0, 35, 4));
            monsterBaseData[2] = new MonsterBaseData((int)MonsterId.Rabbit, "Rabbit");
            monsterBaseData[2].AddLevelData(new MonsterLevelData(1, 5, 0, 75, 4));
            dungeonData = new MonsterStatusData(3, monsterBaseData);

            SetMonsterSpawnList(monsterSpawnList);
            SpawnMonster();
            SetMonsterStatus();
        }
//		if (GameObject.FindGameObjectWithTag("GameManager") == null)
//		{
//			//스폰 포인트 찾기
//			InitializeMonsterSpawnPoint();
//
//			//서버에서 온 데이터 : monsterSpawnData
//			//여기서는 직접 데이터를 설정
//			MonsterSpawnData[] monsterSpawnData = new MonsterSpawnData[1];
//			monsterSpawnData[0] = new MonsterSpawnData((int)MonsterId.Bear, 1);
//			//monsterSpawnData[1] = new MonsterSpawnData((int)MonsterId.BlackBear, 1);
//
//			//던전 데이터에서 몬스터 스폰 리스트를 monsterSpawnData로 설정
//			//그러면 몬스터 생성 숫자가 설정됨(종류, 개수)
//			monsterSpawnList = new MonsterSpawnList(1, monsterSpawnData);
//
//			//서버에서 온 데이터 : monsterBaseData
//			MonsterBaseData[] monsterBaseData = new MonsterBaseData[1];
//			monsterBaseData[0] = new MonsterBaseData((int)MonsterId.Bear, "Bear");
//			monsterBaseData[0].AddLevelData(new MonsterLevelData(1, 2, 0, 30,1));
//
//			//던전 데이터에서 몬스터 스탯테이블을 monsterBaseData로 설정
//			//그러면 위의 몬스터 생성할때 스탯이 이렇게 설정됨
//			dungeonData = new MonsterStatusData(1, monsterBaseData);
//
//			SpawnMonster();
//			SetMonsterStatus();
//		}
    }