private void Awake() { mBehaviourAttribute = new MapBehaviourAttribute("none"); zIndex = 10; mCollider = gameObject.AddComponent <BoxCollider2D>(); mCollider.size = new Vector2(1, 1); }
//アニメーションなしの初期化 public void init(Sprite aSprite, MapBehaviourAttribute aAttribute) { if (mAttribute != null) { return; } mAttribute = aAttribute; SpriteRenderer tRenderer = gameObject.AddComponent <SpriteRenderer>(); tRenderer.sprite = aSprite; }
//アニメーションありの初期化 public void init(List <Sprite> aSprite, float aInterval, MapBehaviourAttribute aAttribute) { if (mAttribute != null) { return; } mAttribute = aAttribute; GifAnimator tGif = gameObject.AddComponent <GifAnimator>(); tGif.setSprites(aSprite); tGif.setInterval(aInterval); tGif.play(); }
//属性を重ねる public void pile(Attribute aAttribute) { //重ねられるのは地形のみ if (getAttributeType() != AttributeType.trout) { return; } if (MapBehaviourAttribute.getAttributeType(aAttribute) != AttributeType.trout) { return; } if (mAttribute < aAttribute) { mAttribute = aAttribute; } }
///マップ属性セット public void setAttribute(string aAttribute) { mAttribute = new MapBehaviourAttribute(aAttribute); }
public void setAttribute(MapBehaviourAttribute.Attribute aAttribute) { mAttribute = new MapBehaviourAttribute(aAttribute); }
//引数の属性を通過できるか public bool canPass(MapBehaviourAttribute aAttribute) { switch (mAttribute) { //地形 case Attribute.none: case Attribute.air: case Attribute.flat: case Attribute.water: case Attribute.magma: case Attribute.wall: case Attribute.bridge: case Attribute.ladder: return(true); //もの case Attribute.ghost: return(true); case Attribute.accessory: return(true); case Attribute.character: switch (aAttribute.attribute) { //地形 case Attribute.none: return(false); case Attribute.air: return(false); case Attribute.flat: return(true); case Attribute.water: return(false); case Attribute.magma: return(false); case Attribute.wall: return(false); case Attribute.bridge: return(true); case Attribute.ladder: return(true); //もの case Attribute.ghost: return(true); case Attribute.accessory: return(false); case Attribute.character: return(false); case Attribute.flying: return(false); case Attribute.pygmy: return(true); //イベント case Attribute.empty: case Attribute.environment: case Attribute.force: return(true); default: throw new Exception("MapBehaviourAttribute : 「" + str + "」と「" + aAttribute.str + "」の衝突関係が定義されてないよん"); } case Attribute.flying: switch (aAttribute.attribute) { //地形 case Attribute.none: return(false); case Attribute.air: return(false); case Attribute.flat: return(true); case Attribute.water: return(true); case Attribute.magma: return(false); case Attribute.wall: return(false); case Attribute.bridge: return(true); case Attribute.ladder: return(false); //もの case Attribute.ghost: return(true); case Attribute.accessory: return(false); case Attribute.character: return(false); case Attribute.flying: return(false); case Attribute.pygmy: return(true); //イベント case Attribute.empty: case Attribute.environment: case Attribute.force: return(true); default: throw new Exception("MapBehaviourAttribute : 「" + str + "」と「" + aAttribute.str + "」の衝突関係が定義されてないよん"); } case Attribute.pygmy: switch (aAttribute.attribute) { //地形 case Attribute.none: return(false); case Attribute.air: return(false); case Attribute.flat: return(true); case Attribute.water: return(true); case Attribute.magma: return(false); case Attribute.wall: return(false); case Attribute.bridge: return(true); case Attribute.ladder: return(true); //もの case Attribute.ghost: return(true); case Attribute.accessory: return(false); case Attribute.character: return(true); case Attribute.flying: return(true); case Attribute.pygmy: return(true); //イベント case Attribute.empty: case Attribute.environment: case Attribute.force: return(true); default: throw new Exception("MapBehaviourAttribute : 「" + str + "」の衝突関係が定義されてないよん"); } //イベント case Attribute.empty: case Attribute.environment: case Attribute.force: return(true); default: throw new Exception("MapBehaviourAttribute : 「" + str + "」と「" + aAttribute.str + "」の衝突関係が定義されてないよん"); } }