//mode可能是被旋转过的,用format可以得到存储了图片的mode static public string format(string mode) { HashSet <string> candy = new HashSet <string>(); candy.Add("aaaa"); candy.Add("aaaf"); candy.Add("faaf"); candy.Add("ffva"); candy.Add("vaaa"); candy.Add("vafa"); candy.Add("vava"); candy.Add("vfaa"); candy.Add("vfav"); candy.Add("vffa"); candy.Add("vfva"); candy.Add("vvaa"); candy.Add("vvav"); candy.Add("vvfa"); candy.Add("vvff"); candy.Add("vvva"); candy.Add("vvvf"); candy.Add("vvvv"); for (int i = 0; i < 4; ++i) { if (candy.Contains(mode)) { return(mode); } else { // Debug.Log("format"); mode = JigtileMaskMode.deform(mode); } } // print(string.Format("Can not found:{0}", mode)); jt.log("can not find ", mode); Debug.Assert(false); return(null); }
//设置使用哪张碰撞掩码图,用vfa代表,上右下左4个字符 public void SetMask(string maskmode) { m_mode = maskmode; //如果有旋转的情况,需要通过旋转掩码图片得到正确的掩码形状 for (int i = 0; i < 4; ++i) { string file = string.Format("sds-{0}", maskmode); this.mask.sprite = Resources.Load <Sprite>(file); if (this.mask.sprite) { this.mask.transform.Rotate(Vector3.forward * 90 * i); this.jigimg.transform.Rotate(-Vector3.forward * 90 * i); break; } else { maskmode = JigtileMaskMode.deform(maskmode); } } Debug.Assert(this.mask.sprite, string.Format("找不到sds-{0}", maskmode)); }