001package com.fs.starfarer.api.impl.campaign.eventide;
002
003import com.fs.starfarer.api.graphics.SpriteAPI;
004import com.fs.starfarer.api.ui.PositionAPI;
005
006public class EventideDuelBackground extends BaseDuelBackground {
007
008        protected SpriteAPI bg;
009        protected SpriteAPI column;
010        protected SpriteAPI platform;
011        protected SpriteAPI tower;
012        protected SpriteAPI conduits;
013        protected SpriteAPI foreground_side;
014        
015        public EventideDuelBackground() {
016                bg = loadTex("graphics/misc/eventide_bg.jpg");
017                column = loadTex("graphics/misc/column.png");
018                platform = loadTex("graphics/misc/fight_platform.png");
019                tower = loadTex("graphics/misc/midground_tower1.png");
020                conduits = loadTex("graphics/misc/under_conduits.png");
021                foreground_side = loadTex("graphics/misc/foreground_side.png");
022        }
023        
024        
025        public void advance(float amount) {
026                
027        }
028
029        public void render(DuelPanel panel, float xOffset, float yOffset, float alphaMult) {
030                PositionAPI p = panel.getPosition();
031                float x = p.getX();
032                float y = p.getY();
033                float w = p.getWidth();
034                
035                //bg.render(p.getX(), p.getY() + (p.getHeight() - bg.getHeight()));
036                bg.render(x, y);
037                
038                float columnXOffset = xOffset * 0.5f; //0.25f;
039                float columnYOffset = yOffset * 0.5f; //0.25f;
040                float towerXOffset = xOffset * 0.25f; //0.5f;
041                float towerYOffset = yOffset * 0.25f; //0.5f;
042                
043                
044                float platformY = panel.getFloorLevel() -
045                                                  platform.getHeight() + 40 + //64 + //92 +  
046                                                  yOffset;
047                float columnY = platformY + 92f + columnYOffset;
048                float columnSpacing = column.getWidth() - 60f;
049                float columnX = x + columnXOffset - 375f; //140f;
050                
051                tower.render(x + w - tower.getWidth() + towerXOffset, y + towerYOffset);
052                
053                column.render(columnX + columnSpacing * 3f, columnY);
054                column.render(columnX + columnSpacing * 2f, columnY);
055                column.render(columnX + columnSpacing, columnY);
056                column.render(columnX, columnY);
057                
058                conduits.setWidth(getStageWidth());
059                conduits.render(p.getX() - (getStageWidth() - p.getWidth()) / 2f + xOffset, platformY - conduits.getHeight() + 130);
060                
061                platform.setWidth(getStageWidth());
062                platform.render(p.getX() - (getStageWidth() - p.getWidth()) / 2f + xOffset, platformY);
063                //platform.render(p.getX() + xOffset, platformY);
064                
065                
066        }
067        
068        public void renderForeground(DuelPanel panel, float xOffset, float yOffset, float alphaMult) {
069                PositionAPI p = panel.getPosition();
070                float x = p.getX();
071                float y = p.getY();
072                foreground_side.render( getStageWidth() -foreground_side.getWidth() + xOffset, y);
073        }
074
075
076        public float getStageWidth() {
077                //return 1024f + 512f;
078                return 2048f;
079        }
080
081}