public void setAngryAI() { mHasAngry = true; GameObject obj = constant.getChildGameObject(this.gameObject, "AnimatedSprite"); tk2dSpriteAnimator ani = obj.GetComponent <tk2dSpriteAnimator>(); ani.Play("angry"); GameObject ui = constant.getChildGameObject(this.gameObject, "ui"); //iTween.ScaleTo(ui, new Vector3(3, 3, 1), 0.5f); Hashtable args = new Hashtable(); args.Add("x", 3); args.Add("y", 3); args.Add("z", 1); args.Add("time", 1.5f); args.Add("easetype", iTween.EaseType.easeInBounce); args.Add("oncomplete", "AnimationEnd"); args.Add("oncompletetarget", gameObject); iTween.ScaleTo(ui, args); //播放生气音效 soundLogic soundLogic = constant.getSoundLogic(); soundLogic.playEffect("boss1_angry"); //摄像机晃动 maplogic logic = constant.getMapLogic(); logic.shakeCamera(); }
public static maplogic getInstance() { if (mInstance == null) { mInstance = new maplogic(); } return(mInstance); }
// Use this for initialization void Awake() { if (Application.loadedLevel == 0) { return; } maplogic mapLogic = constant.getMapLogic(); mapLogic.startRoom(); }
virtual public Vector3 getFAcc() { Vector3 v = new Vector3(); maplogic logic = constant.getMapLogic(); v.x = logic.getRoomInfoFAcc() * this.rigidbody.mass; v.y = logic.getRoomInfoFAcc() * this.rigidbody.mass; v.z = 0; return(v); }
// Update is called once per frame void Update() { maplogic logic = constant.getMapLogic(); roominfo info = logic.getCurRoom(); if (info == null) { return; } tk2dTextMesh text = this.gameObject.GetComponent <tk2dTextMesh> (); text.text = "" + info.mId; }
void OnTriggerStay(Collider other) { if (!mHasFall) { return; } if (mHasBroken) { return; } maplogic mapLogic = constant.getMapLogic(); mapLogic.triggerEnter(this.gameObject, other.gameObject); }
public mapinfo getRandomMap(maplogic logic) { mapinfo mapInfo = new mapinfo(); mapInfo.mRoomInfos = new List <roominfo> (); int roomNum = logic.getFloorTotalRoomNum(); int itemRoomNum = roomNum / 4 + (Random.Range(-1, 1)); if (itemRoomNum <= 0) { itemRoomNum = 1; } int roomId = 1; int doorId = 1; for (int i = 0; i < roomNum; ++i) { roominfo roomInfo = new roominfo(); roomInfo.roomH = 1; roomInfo.roomW = 1; roomInfo.mRoomType = constant.RoomType.Monster; if (i == 0) { roomInfo.mRoomType = constant.RoomType.Start; } if (i == roomNum - 1) { roomInfo.mIsBossRoom = true; } roomInfo.mSceneIndex = 2; roomInfo.mId = roomId; ++roomId; roomInfo.mDoorInfos = new List <doorinfo>(); //左边门 if (i > 0) { doorinfo doorInfo = new doorinfo(); doorInfo.mId = doorId; ++doorId; doorInfo.mDir = constant.Direction.east; doorInfo.mNextDoorId = doorId - 2; doorInfo.mNextRoomId = roomId - 2; doorInfo.mX = 0f; doorInfo.mY = 0.5f; roomInfo.mDoorInfos.Add(doorInfo); } //右边门 if (i != roomNum - 1) { doorinfo doorInfo = new doorinfo(); doorInfo.mId = doorId; ++doorId; doorInfo.mDir = constant.Direction.west; doorInfo.mNextDoorId = doorId; doorInfo.mNextRoomId = roomId; doorInfo.mX = 1f; doorInfo.mY = 0.5f; doorInfo.mMain = true; roomInfo.mDoorInfos.Add(doorInfo); } mapInfo.mRoomInfos.Add(roomInfo); } List <int> mMonsterRoomIds = new List <int>(); for (int i = 1; i < roomId - 1; ++i) { mMonsterRoomIds.Add(i); } //创建几个到道具房间 for (int i = 0; i < itemRoomNum; ++i) { //随机选择一个房间 int nextRoomIndex = Random.Range(0, mMonsterRoomIds.Count - 1); int nextRoomId = mMonsterRoomIds[nextRoomIndex]; mMonsterRoomIds.RemoveAt(nextRoomIndex); roominfo nextRoomInfo = null; for (int j = 0; j < mapInfo.mRoomInfos.Count; ++j) { roominfo childInfo = mapInfo.mRoomInfos[j]; if (childInfo.mId == nextRoomId) { nextRoomInfo = childInfo; break; } } if (nextRoomInfo != null) { roominfo roomInfo = new roominfo(); roomInfo.roomH = 1; roomInfo.roomW = 1; roomInfo.mSceneIndex = 2; roomInfo.mRoomType = constant.RoomType.Item; roomInfo.mId = roomId; ++roomId; roomInfo.mDoorInfos = new List <doorinfo>(); { //随机选择一个门 List <constant.Direction> dirs = nextRoomInfo.getRemainDirs(); constant.Direction enterDir = dirs[Random.Range(0, dirs.Count - 1)]; Debug.Log("随机选择一个门:" + enterDir); //加一个门给monster房间 { doorinfo doorInfo = new doorinfo(); doorInfo.mId = doorId; ++doorId; doorInfo.mDir = enterDir; doorInfo.mNextDoorId = doorId; doorInfo.mNextRoomId = roomInfo.mId; //doorInfo.mX = 1f; //doorInfo.mY = 0.5f; doorInfo.mX = getDoorX(nextRoomInfo, doorInfo.mDir); doorInfo.mY = getDoorY(nextRoomInfo, doorInfo.mDir); nextRoomInfo.mDoorInfos.Add(doorInfo); } //加一个门给item房间指向上一个monster房间 { doorinfo doorInfo = new doorinfo(); doorInfo.mId = doorId; ++doorId; doorInfo.mDir = constant.getOppsiteDir(enterDir); //constant.Direction.west; doorInfo.mNextDoorId = doorId - 2; doorInfo.mNextRoomId = nextRoomInfo.mId; doorInfo.mX = getDoorX(roomInfo, doorInfo.mDir); doorInfo.mY = getDoorY(roomInfo, doorInfo.mDir); roomInfo.mDoorInfos.Add(doorInfo); } } { roominfo nextNextRoomInfo = mapInfo.getNextMainRoomInfo(nextRoomInfo); //随机选择一个门 List <constant.Direction> dirs = roomInfo.getCanUseDirs(nextNextRoomInfo); constant.Direction enterDir = dirs[Random.Range(0, dirs.Count - 1)]; //加一个门给item房间指向下一个monster房间 { doorinfo doorInfo = new doorinfo(); doorInfo.mId = doorId; ++doorId; doorInfo.mDir = enterDir; doorInfo.mNextDoorId = doorId; doorInfo.mNextRoomId = nextNextRoomInfo.mId; doorInfo.mX = getDoorX(roomInfo, doorInfo.mDir); doorInfo.mY = getDoorY(roomInfo, doorInfo.mDir); roomInfo.mDoorInfos.Add(doorInfo); } //加一个门给下一个monster房间 { doorinfo doorInfo = new doorinfo(); doorInfo.mId = doorId; ++doorId; doorInfo.mDir = constant.getOppsiteDir(enterDir); //constant.Direction.west; doorInfo.mNextDoorId = doorId - 2; doorInfo.mNextRoomId = roomInfo.mId; doorInfo.mX = getDoorX(nextNextRoomInfo, doorInfo.mDir); doorInfo.mY = getDoorY(nextNextRoomInfo, doorInfo.mDir); nextNextRoomInfo.mDoorInfos.Add(doorInfo); } } mapInfo.mRoomInfos.Add(roomInfo); } } mapInfo.mCurRoomId = 1; initMapScenes(mapInfo); return(mapInfo); }