Exemple #1
0
    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);
    }
Exemple #2
0
 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);
     }
 }
Exemple #3
0
 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();
 }
Exemple #4
0
    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);
    }
Exemple #5
0
    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;
        }
    }
Exemple #6
0
    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);
    }