Esempio n. 1
0
 public override void init_ObjectBase(ObjectBaseType _objectBaseType, int subtype, Node _node)
 {
     base.init_ObjectBase(_objectBaseType, subtype, _node);
     unlocked_doorType = (DoorType)(subtype - (int)DoorType.LOCKED_DOOR);
     is_collide        = true;
     Debug.Log("DOOR CREATE :" + doorType + "iscollide : " + is_collide);
 }
Esempio n. 2
0
    public void readcsv(RoomType roomType, int stagelv)
    {
        object[] datas = Resources.LoadAll(roomType.ToString() + "/" + stagelv.ToString() + "/");

        for (int i = 0; i < datas.Length; i++)
        {
            //List<string> data = CSVReader.read_roominfo(subpath + info[i].Name.Substring(0, info[i].Name.Length - 4));

            List <string> data = CSVReader.return_sting_list((TextAsset)datas[i]);

            nodeSetters_list[stagelv - 1].Add(new List <NodeSetter>());


            ObjectBaseType temptype = ObjectBaseType.NONE;
            int            subtype  = 0;
            int            index    = 0;
            for (int j = 0; j < 50; j++) //총 25 * 2개
            {
                if (j % 2 == 0)
                {
                    temptype = (ObjectBaseType)System.Enum.Parse(typeof(ObjectBaseType), data[j]); //오브젝트 베이스타입
                    index    = j / 2;
                }
                else
                {
                    subtype = int.Parse(data[j]);
                    nodeSetters_list[stagelv - 1][i].Add(new NodeSetter(temptype, subtype, index));
                }
            }
            //여기에 방 한개의 정보가 담김. 그럼 stagelv마다 몇개의 방 정보가 잇어야겟지?
        }
    }
Esempio n. 3
0
    public ObjectBase create_object(ObjectBaseType objectbaseType, int subType, Node node, int UDLR = 0)
    {
        Vector3    _position  = node.position;
        ObjectBase objectbase = pools.objectBasePool.call_object_base(objectbaseType, subType, node, UDLR);         /// subtype 저으이필요.

        if (objectbase == null)
        {
            return(null);
        }
        switch (objectbaseType)
        {
        case ObjectBaseType.CHARACTER:
            objectbase.ObjectBody = gameManager.pools.objectBodyPool.get_body(MonsterType.CHARACTER, _position);
            objectbase.ObjectBody.GetComponentInChildren <Animator>().SetInteger("MoveType", 7);
            break;

        case ObjectBaseType.MONSTER:
            objectbase.ObjectBody = gameManager.pools.objectBodyPool.get_body((MonsterType)subType, _position);
            for (int i = 0; i < objectbase.ItemUIList.Count; i++)
            {
                objectbase.ItemUIList[i].transform.parent = objectbase.ObjectBody.transform;
            }
            for (int i = 0; i < objectbase.heartUIList.Count; i++)
            {
                objectbase.heartUIList[i].transform.parent = objectbase.ObjectBody.transform;
            }
            for (int i = 0; i < objectbase.blueheartUIList.Count; i++)
            {
                objectbase.blueheartUIList[i].transform.parent = objectbase.ObjectBody.transform;
            }
            break;

        case ObjectBaseType.ITEM:
            objectbase.ObjectBody = gameManager.pools.objectBodyPool.get_body((ItemType)subType, _position);
            break;

        case ObjectBaseType.DOOR:

            objectbase.ObjectBody = gameManager.pools.objectBodyPool.get_body((DoorType)subType, _position, UDLR);
            break;

        case ObjectBaseType.BLOCK:
            objectbase.ObjectBody = gameManager.pools.objectBodyPool.get_body((BlockType)subType, _position);
            break;

        case ObjectBaseType.TRAP:
            objectbase.ObjectBody = gameManager.pools.objectBodyPool.get_body((TrapType)subType, _position);
            break;

        default:
            Debug.Log("IF IT LOOKS LIKE DOOR, ADD GETBODY IN BOARDMANAGER");
            objectbase.ObjectBody = gameManager.pools.objectBodyPool.get_body((DoorType)subType, _position, UDLR);

            break;
        }
        node.object_here_list.Add(objectbase);

        return(objectbase);
    }
Esempio n. 4
0
 public override void init_ObjectBase(ObjectBaseType _objectBaseType, int subtype, Node _node)
 {
     base.init_ObjectBase(_objectBaseType, subtype, _node);
     trapType   = (TrapType)subtype;
     turn_type  = Turn_Type.Object_turn;
     has_turns  = 1;
     is_collide = false;
 }
Esempio n. 5
0
    public override void init_ObjectBase(ObjectBaseType _objectBaseType, int subtype, Node _node)
    {
        base.init_ObjectBase(_objectBaseType, subtype, _node);

        blockType          = (BlockType)subtype;
        is_collide         = true;
        objectStatus.heart = 1;
    }
Esempio n. 6
0
 public override void init_ObjectBase(ObjectBaseType _objectBaseType, int subtype, Node _node)
 {
     base.init_ObjectBase(_objectBaseType, subtype, _node);
     is_collide  = true;
     monsterType = (MonsterType)subtype;
     has_turns   = 1;
     turn_type   = Turn_Type.Enemy_turn;
     create_UI();
 }
Esempio n. 7
0
    public override void init_ObjectBase(ObjectBaseType _objectBaseType, int subtype, Node _node)
    {
        base.init_ObjectBase(_objectBaseType, subtype, _node);

        is_collide = true;
        //objectStatus.heart = Constant.DEFAULT_PLAYER_HEART;
        monsterType = (MonsterType)subtype;
        turn_type   = Turn_Type.Player_turn;
    }
Esempio n. 8
0
    //ObjectBase생성자에 대한 문법 추가 필요.
    //생성자의 상속이 어떻게되는지 기억이 안나서 생각이 필요함
    //ObjectBase를 상속받아서 플레이어나 기타 몬스터를 생성함.
    //ObjectBase는 monobehavior없으므로 게임오브젝트를 직접 생성하면 안됨.
    //이것도 new키워드로 붙여야함.
    //블럭처럼 instance가 잇고 거기에 필요한 애니메이션 몸통은 별도로 잇는것.
    //이렇게해야 별도의 몬스터 리스트를 업데이트 해주고 애니메이션은 그걸 따라가는것.


    public virtual void init_ObjectBase(ObjectBaseType _objectBaseType, int subtype, Node _node)
    {
        gameManager     = GameManager.Instance;
        objectBase_type = _objectBaseType;
        objectStatus    = new ObjectStatus(_objectBaseType);
        node_now        = _node;
        //this = this;
        is_alive      = true;
        has_turns     = 1;
        can_splash    = false;
        turn_type     = Turn_Type.None;
        delay_turn    = 1;
        targeted_base = null;
        set_objectStatus();
    }
Esempio n. 9
0
    void random_create(RoomMeta roomMeta, ObjectBaseType objectbase_type, int subType)
    {
        Node randomNode;

        if (objectbase_type == ObjectBaseType.ITEM || objectbase_type == ObjectBaseType.BLOCK)
        {
            randomNode = RandomNode(roomMeta, false);
        }
        else
        {
            randomNode = RandomNode(roomMeta);
        }
        //Vector3 randomPosition = randomNode.position;
        if (randomNode == null)
        {
            return;
        }
        //roomMeta.object_base_list.Add(create_object(objectbase_type, randomNode));
        randomNode = find_neighbor_node(roomMeta, randomNode);
        create_object(objectbase_type, subType, randomNode);
    }
Esempio n. 10
0
 public NodeSetter(ObjectBaseType _objectBaseType, int _subtype, int _nodeindex)
 {
     objectBaseType = _objectBaseType;
     subtype        = _subtype;
     nodeindex      = _nodeindex;
 }
Esempio n. 11
0
 public override void init_ObjectBase(ObjectBaseType _objectBaseType, int subtype, Node _node)
 {
     base.init_ObjectBase(_objectBaseType, subtype, _node);
     unlocked_doorType = DoorType.NONE;
     is_collide        = false;
 }
Esempio n. 12
0
 public override void init_ObjectBase(ObjectBaseType _objectBaseType, int subtype, Node _node)
 {
     base.init_ObjectBase(_objectBaseType, subtype, _node);
     movable = true;
 }
Esempio n. 13
0
 public ObjectStatus(ObjectBaseType objectBaseType)
 {
     thisType = objectBaseType;
 }
Esempio n. 14
0
 public override void init_ObjectBase(ObjectBaseType _objectBaseType, int subtype, Node _node)
 {
     base.init_ObjectBase(_objectBaseType, subtype, _node);
     is_collide = false;
     itemType   = (ItemType)subtype;
 }
Esempio n. 15
0
 public override void init_ObjectBase(ObjectBaseType _objectBaseType, int subtype, Node _node)
 {
     base.init_ObjectBase(_objectBaseType, subtype, _node);
     doorType = (DoorType)subtype;
 }
Esempio n. 16
0
 public override void init_ObjectBase(ObjectBaseType _objectBaseType, int subtype, Node _node)
 {
     base.init_ObjectBase(_objectBaseType, subtype, _node);
     unlocked_doorType = (DoorType)(subtype - (int)DoorType.LOCKED_DOOR);
     is_collide        = true;
 }
Esempio n. 17
0
    public ObjectBase call_object_base(ObjectBaseType objectBaseType, int subType, Node node, int UDLR = 0)
    {
        ObjectBase tempbase = null;

        switch (objectBaseType)
        {
        case ObjectBaseType.CHARACTER:
            tempbase = new PlayerBase((MonsterType)subType, node);
            break;

        case ObjectBaseType.MONSTER:
            if ((MonsterType)subType == MonsterType.ZOMBIE)
            {
                tempbase = new ZombieBase((MonsterType)subType, node);
            }
            if ((MonsterType)subType == MonsterType.GHOST)
            {
                tempbase = new GhostBase((MonsterType)subType, node);
            }
            if ((MonsterType)subType == MonsterType.ZOMBIE_TONGUE)
            {
                tempbase = new ZombieBase_tongue((MonsterType)subType, node);
            }
            if ((MonsterType)subType == MonsterType.GHOST_LV2)
            {
                tempbase = new GhostBase((MonsterType)subType, node, 2);
            }
            break;

        case ObjectBaseType.ITEM:
            tempbase = new ItemBase((ItemType)subType, node);
            break;

        case ObjectBaseType.DOOR:
            if ((DoorType)subType == DoorType.NORMAL)
            {
                tempbase = new DoorBase_Normal((DoorType)subType, node, UDLR);
            }
            if ((DoorType)subType == DoorType.UP_STAIR)
            {
                tempbase = new DoorBase_Upstair((DoorType)subType, node, UDLR);
            }
            if ((DoorType)subType == DoorType.DOWN_STAIR)
            {
                tempbase = new DoorBase_Downstair((DoorType)subType, node, UDLR);
            }

            if ((DoorType)subType == DoorType.LOCKED_DOOR_NORAML)
            {
                tempbase = new DoorBase_LockedNormal((DoorType)subType, node, UDLR);
            }
            if ((DoorType)subType == DoorType.LOCKED_DOOR_UP_STAIR)
            {
                tempbase = new DoorBase_LockedUpstair((DoorType)subType, node, UDLR);
            }
            if ((DoorType)subType == DoorType.LOCKED_DOOR_DOWN_STAIR)
            {
                tempbase = new DoorBase_LockedDownstair((DoorType)subType, node, UDLR);
            }

            break;

        case ObjectBaseType.BLOCK:
            if (!checkDoor(node))
            {
                break;
            }
            if ((BlockType)subType == BlockType.WELL)
            {
                tempbase = new BlockBase_Well((BlockType)subType, node);
            }
            if ((BlockType)subType == BlockType.BOX)
            {
                tempbase = new BlockBase_Box((BlockType)subType, node);
            }

            if ((BlockType)subType == BlockType.CASE)
            {
                tempbase = new BlockBase_Case((BlockType)subType, node);
            }
            if ((BlockType)subType == BlockType.CASE_LOCKED)
            {
                tempbase = new BlockBase_Case_Locked((BlockType)subType, node);
            }
            if ((BlockType)subType == BlockType.VENDINGMACHINE)
            {
                tempbase = new BlockBase_Vendingmachine((BlockType)subType, node);
            }
            if ((BlockType)subType == BlockType.WELL_LOCKED)
            {
                tempbase = new BlockBase_Well_Locked((BlockType)subType, node);
            }
            break;

        case ObjectBaseType.TRAP:
            if ((TrapType)subType == TrapType.MAGICCIRCLE)
            {
                tempbase = new TrapBase_Magiccircle((TrapType)subType, node);
            }
            if ((TrapType)subType == TrapType.NORMAL)
            {
                tempbase = new TrapBase_Normal((TrapType)subType, node);
            }

            if ((TrapType)subType == TrapType.NORMAL_TYPE2)
            {
                tempbase = new TrapBase_Normal_type2((TrapType)subType, node, false);
            }
            if ((TrapType)subType == TrapType.NORMAL_TYPE3)
            {
                tempbase = new TrapBase_Normal_type2((TrapType)subType, node, true);
            }

            break;

        default:
            break;
        }
        return(tempbase);

        /*
         * if (objectBaseType == ObjectBaseType.CHARACTER) // player경우 pool 안쓰는경우.
         * {
         *      return new PlayerBase((MonsterType)subType, node);
         * }
         *
         * for (int i = 0; i < object_base_dict[objectBaseType].Count; i++)
         * {
         *      if (!object_base_dict[objectBaseType][i].is_alive)
         *      {
         *              object_base_dict[objectBaseType][i].init_ObjectBase(objectBaseType, subType, node);
         *              return object_base_dict[objectBaseType][i];
         *      }
         * }
         * create_object_base(objectBaseType, subType, node, UDLR);
         * return object_base_dict[objectBaseType][object_base_dict[objectBaseType].Count - 1];
         */
    }