private void SpawnTile(TmxLayerTile tile, int x, int y, TmxLayer layer, GridLayerConfig gridLayerConfig, int layerNumber) { Transform container = GetContainer("TileLayers"); GridTile spawnedTile = null; if (gridLayerConfig != null) { if (gridLayerConfig.OverridePrefab) { spawnedTile = Instantiate(gridLayerConfig.OverridePrefab, scene.transform); } else { spawnedTile = Instantiate(config.GridTilePrefab, scene.transform); } } else { spawnedTile = Instantiate(config.GridTilePrefab); } Sprite sprite = GetTileSprite(tile.Gid); ColliderConfig conf = GetColliderConfig(tile.Gid); spawnedTile.Initialize(sprite, x, y, gridLayerConfig, conf, layer.Name, layerNumber); GridTileLayerManager.main.AddTile(spawnedTile, layer.Name, container); }
protected void OnDrawGizmosUpdate() { if (!Application.isPlaying && ColliderId != 0) { var cfg = ColliderConfig.GetData(ColliderId); UnityEditor.Handles.color = Color.red; UnityEditor.Handles.DrawWireCube(transform.position + (Vector3)cfg.Offest, cfg.Size); } }
public void LoadConfigs() { ItemConfig.LoadCsvCfg(); AnimConfig.LoadCsvCfg(); PlayerConfig.LoadCsvCfg(); MonsterConfig.LoadCsvCfg(); BossConfig.LoadCsvCfg(); BuffConfig.LoadCsvCfg(); SkillConfig.LoadCsvCfg(); LevelConfig.LoadCsvCfg(); BulletConfig.LoadCsvCfg(); BarrageConfig.LoadCsvCfg(); ColliderConfig.LoadCsvCfg(); }
private ColliderConfig GetColliderConfig(int tileGid) { int id = tiledMapTilesetManager.GetTileIdFromGID(tileGid); string name = "collider" + id; ColliderConfig result = null; foreach (ColliderConfig conf in GameManager.main.Config.ColliderConfigs) { if (conf != null && conf.name == name) { result = conf; } } if (result == null) { result = ScriptableObject.CreateInstance <ColliderConfig>(); } return(result); }
public void Init(int colliderId, Character owner, int damage, int hitForce, SkillConfig skill) { _timeCount = 0; _damage = damage; _hitForce = hitForce; _hitEffect = skill.HitEffect; _hitPosType = skill.HitEffectPosType; _hitAudio = skill.HitAudio; _hitEffectLife = skill.HitEffectLife; _owner = owner; _coliderCfg = ColliderConfig.GetData(colliderId); _intervalTimeCount = _coliderCfg.DamageInterval; _box.size = _coliderCfg.Size; switch (_coliderCfg.LifeType) { case E_ColliderFollowType.None: transform.SetParent(null); if (_owner.IsFaceRight) { transform.position = _owner.transform.position + (Vector3)_coliderCfg.Offest; } else { transform.position = _owner.transform.position + new Vector3(-_coliderCfg.Offest.x, _coliderCfg.Offest.y, 0); } break; case E_ColliderFollowType.Follow: transform.SetParent(_owner.transform, false); //if (_owner.IsFaceRight) //{ transform.localPosition = _coliderCfg.Offest; //} //else //{ // transform.localPosition = new Vector2(-_coliderCfg.Offest.x, _coliderCfg.Offest.y); //} break; } }
public void Initialize(Sprite sprite, int x, int y, GridLayerConfig gridLayerConfig, ColliderConfig colliderConfig, string layerName, int layerNumber) { this.x = x; this.y = y; spriteRenderer = GetComponentInChildren <SpriteRenderer>(); if (spriteRenderer != null) { spriteRenderer.sprite = sprite; //spriteRenderer.sortingOrder = layerNumber; spriteRenderer.sortingOrder = -(y * 2); if (gridLayerConfig != null && gridLayerConfig.OverrideMaterial != null) { spriteRenderer.material = gridLayerConfig.OverrideMaterial; } } if (layerName == "obstacles") { foreach (ColliderParams param in colliderConfig.Colliders) { BoxCollider col = gameObject.AddComponent <BoxCollider>(); col.center = new Vector3(param.centerX, param.centerY); col.size = new Vector3(param.width, param.height, 2f); } gameObject.layer = LayerMask.NameToLayer("Wall"); //spriteRenderer.sortingOrder = -(y * 10); //spriteRenderer.sortingOrder = layerNumber; gameObject.layer = LayerMask.NameToLayer("Wall"); //spriteRenderer.sortingOrder; } else if (layerName == "ground") { spriteRenderer.sortingOrder = -2000; } else { if (spriteRenderer == null) { print("asd"); } if (layerName != "decorations") { spriteRenderer.sortingOrder += layerNumber + 1; } else { spriteRenderer.sortingOrder += 1; } } transform.position = new Vector2(x, y); }