001 package com.croftsoft.core.animation.model; 002 003 import java.awt.*; 004 import java.util.*; 005 006 import com.croftsoft.core.math.geom.PointXY; 007 008 /********************************************************************* 009 * Provides methods for manipulating the Models in the game. 010 * 011 * @version 012 * 2003-06-05 013 * @since 014 * 2003-04-14 015 * @author 016 * <a href="https://www.croftsoft.com/">David Wallace Croft</a> 017 *********************************************************************/ 018 019 public interface World 020 extends WorldAccessor 021 ////////////////////////////////////////////////////////////////////// 022 ////////////////////////////////////////////////////////////////////// 023 { 024 025 public void clear ( ); 026 027 public void remove ( Model model ); 028 029 ////////////////////////////////////////////////////////////////////// 030 ////////////////////////////////////////////////////////////////////// 031 032 public void prepare ( ); 033 034 public void update ( double timeDelta ); 035 036 ////////////////////////////////////////////////////////////////////// 037 ////////////////////////////////////////////////////////////////////// 038 039 /********************************************************************* 040 * Gets an active Model that contains the point. 041 * 042 * @param classes 043 * 044 * The returned Model will be an instance of one of the classes. 045 * 046 * @param model 047 * 048 * The Model to ignore, usually the one calling this method. 049 *********************************************************************/ 050 public Model getModel ( 051 PointXY pointXY, 052 Class [ ] classes, 053 Model model ); 054 055 public Model [ ] getModels ( ); 056 057 /********************************************************************* 058 * Determines whether an active Impassable overlaps the model shape. 059 *********************************************************************/ 060 public boolean isBlocked ( Model model ); 061 062 /********************************************************************* 063 * Determines whether an active Impassable overlaps the shape. 064 * 065 * @param model 066 * 067 * The model to ignore. 068 *********************************************************************/ 069 public boolean isBlocked ( 070 Shape shape, 071 Model model ); 072 073 ////////////////////////////////////////////////////////////////////// 074 ////////////////////////////////////////////////////////////////////// 075 }