/// <summary> /// initializeでDictionaryを返却すべきではない。 /// initializeは初期化をすべき。カテゴリーエラー。 /// </summary> /// <param name="pictureNum"></param> /// <param name="panelList"></param> /// <returns></returns> public Dictionary<int, string> Initialize(int pictureNum, RailPanel[] panelList) { if(pictureNum > this.spriteNameListList.Count){ Debug.LogError("指定範囲がオーバー!【指定値:"+pictureNum+"】"); return null; } var dic = new Dictionary<int, string>(); this.pictureNum = pictureNum; int index = this.pictureNum; this.recodePanel.Clear (); if(!this.isTop){ if(index == 1) index = -10; else index = (index > 0) ? -(index - 1) : -index; }else { if(index == 10) index = -1; else index = (index > 0) ? -(index + 1) : -index; } if(index > 0){ this.recodePanel.Add(new RecodePanel(index, panelList[0])); //dic.Add (0, this.pictures[index][this.pictures[index].Count - 1]); dic.Add(0, this.spriteNameListList[index][this.spriteNameListList[index].Count - 1]); } else { this.recodePanel.Add(new RecodePanel(0, panelList[0])); //dic.Add(0, this.pictures[0][this.pictures[0].Count - 1]); dic.Add(0, this.spriteNameListList[0][this.spriteNameListList[0].Count - 1]); } if(this.pictureNum > 0){ this.recodePanel.Add(new RecodePanel(pictureNum, panelList[1])); //dic.Add(1, this.pictures[this.pictureNum][this.pictures[this.pictureNum].Count - 1]); dic.Add(1, this.spriteNameListList[this.pictureNum][this.spriteNameListList[this.pictureNum].Count - 1]); } else { this.recodePanel.Add(new RecodePanel(0, panelList[1])); //dic.Add(1, this.pictures[0][this.pictures[0].Count - 1]); dic.Add(1, this.spriteNameListList[0][this.spriteNameListList[0].Count - 1]); } index = this.pictureNum; for(int i = 2; i < 6; ++i){ if(!this.isTop){ if(index == -10) index = 1; else index = (index > 0) ? -index : -index + 1; }else { if(index == -1) index = 10; else index = (index > 0) ? -index : -index - 1; } if(index > 0){ this.recodePanel.Add(new RecodePanel(index, panelList[i])); //dic.Add(i, this.pictures[index][this.pictures[index].Count - 1]); dic.Add(i, this.spriteNameListList[index][this.spriteNameListList[index].Count - 1]); } else { this.recodePanel.Add(new RecodePanel(0, panelList[i])); //dic.Add(i, this.pictures[0][this.pictures[0].Count - 1]); dic.Add(i, this.spriteNameListList[0][this.spriteNameListList[0].Count - 1]); } } return dic; }
public RecodePanel(int num, RailPanel panel){ this.pictureNum = num; this.railPanel = panel; }
public string GetSpriteName(RailPanel railPanel){ int index = 0; if(!this.isTop){ if(this.pictureNum == -10) this.pictureNum = 1; else this.pictureNum = (this.pictureNum > 0) ? -this.pictureNum : -this.pictureNum + 1; index = (this.pictureNum > 0) ? this.pictureNum + 2 : this.pictureNum - 2; if(index > 10) index = index - 10; if(index < -10) index = index + 10; } else { if(this.pictureNum == -1) this.pictureNum = 10; else this.pictureNum = (this.pictureNum > 0) ? -this.pictureNum : -this.pictureNum - 1; if(this.pictureNum == 2) index = 10; else if(this.pictureNum == -2) index = -10; else if(this.pictureNum == 1) index = 9; else if(this.pictureNum == -1) index = -9; else{ index = (this.pictureNum > 0) ? this.pictureNum - 2 : this.pictureNum + 2; } } if(index > 0){ this.recodePanel.Add(new RecodePanel(index, railPanel)); if(this.recodePanel.Count > 6) this.recodePanel.RemoveAt(0); return this.spriteNameListList[index][this.spriteNameListList[index].Count - 1]; } else { this.recodePanel.Add(new RecodePanel(0, railPanel)); if(this.recodePanel.Count > 6) this.recodePanel.RemoveAt(0); return this.spriteNameListList[0][this.spriteNameListList[0].Count - 1]; } }