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); }
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마다 몇개의 방 정보가 잇어야겟지? } }
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); }
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; }
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; }
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(); }
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; }
//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(); }
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); }
public NodeSetter(ObjectBaseType _objectBaseType, int _subtype, int _nodeindex) { objectBaseType = _objectBaseType; subtype = _subtype; nodeindex = _nodeindex; }
public override void init_ObjectBase(ObjectBaseType _objectBaseType, int subtype, Node _node) { base.init_ObjectBase(_objectBaseType, subtype, _node); unlocked_doorType = DoorType.NONE; is_collide = false; }
public override void init_ObjectBase(ObjectBaseType _objectBaseType, int subtype, Node _node) { base.init_ObjectBase(_objectBaseType, subtype, _node); movable = true; }
public ObjectStatus(ObjectBaseType objectBaseType) { thisType = objectBaseType; }
public override void init_ObjectBase(ObjectBaseType _objectBaseType, int subtype, Node _node) { base.init_ObjectBase(_objectBaseType, subtype, _node); is_collide = false; itemType = (ItemType)subtype; }
public override void init_ObjectBase(ObjectBaseType _objectBaseType, int subtype, Node _node) { base.init_ObjectBase(_objectBaseType, subtype, _node); doorType = (DoorType)subtype; }
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; }
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]; */ }