Package pu.web.client.gui.impl

Source Code of pu.web.client.gui.impl.PU_OnscreenChat

package pu.web.client.gui.impl;

import java.util.ArrayList;

import pu.web.client.PUWeb;
import pu.web.client.PU_Creature;
import pu.web.client.PU_Font;
import pu.web.client.resources.fonts.Fonts;

public class PU_OnscreenChat
{
  private long mLastTicks;
  private ArrayList<PU_OnscreenChatMessage> mMessages = new ArrayList<PU_OnscreenChatMessage>();
  private boolean mVisible = false;
 
  public PU_OnscreenChat()
  {
    mLastTicks = System.currentTimeMillis();
  }
 
  public void setVisible(boolean visible)
  {
    mVisible = visible;
  }
 
  public void draw()
  {
    if(!mVisible)
      return;
   
    long ticks = System.currentTimeMillis() - mLastTicks;
    mLastTicks = System.currentTimeMillis();
   
    if(mMessages.size() > 0)
    {
      PU_Font font = PUWeb.resources().getFont(Fonts.FONT_ARIALBLK_BOLD_14_OUTLINE);
     
      int drawCount = 0;
      for(PU_OnscreenChatMessage message : mMessages)
      {
        drawCount += message.getName().length() + 6;
        for(PU_OnscreenChatLine line :  message.getLines())
        {
          drawCount += line.getText().length();
        }
      }
     
      PUWeb.engine().beginTextureBatch(font.getImage().getTexture(), font.getImage().getWidth(), drawCount, 0, 162, 232, 255);
      for(int i = 0; i < mMessages.size();)
      {
        PU_OnscreenChatMessage message = mMessages.get(i);
        if(message != null)
        {
          if(!message.draw((int)ticks))
          {
            mMessages.remove(i);
          }
          else
          {
            i++;
          }
        }
      }
     
      PUWeb.engine().endTextureBatch();
    }
  }
 
  public void add(String name, String text)
  {
    PU_Creature sender = PUWeb.map().getCreatureByName(name);
    if(sender == null)
      return;
   
    for(PU_OnscreenChatMessage message : mMessages)
    {
      if(message != null && message.getName().equals(name) && message.getX() == sender.getX() && message.getY() == sender.getY())
      {
        message.addText(text);
        return;
      }
    }
   
    PU_OnscreenChatMessage message = new PU_OnscreenChatMessage(name,sender.getX(), sender.getY());
    message.addText(text);
    mMessages.add(message);
  }
}
TOP

Related Classes of pu.web.client.gui.impl.PU_OnscreenChat

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.