예제 #1
0
    /// <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;
	}
예제 #2
0
		public RecodePanel(int num, RailPanel panel){
			this.pictureNum = num;
			this.railPanel = panel;
		}
예제 #3
0
	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];
		}
	}