Thread: Event error

Results 1 to 3 of 3
  1. #1 Event error 
    Banned

    Join Date
    Nov 2012
    Posts
    1,096
    Thanks given
    174
    Thanks received
    136
    Rep Power
    0
    fixed - thanks kaleem
    Reply With Quote  
     

  2. #2  
    Registered Member

    Join Date
    Dec 2012
    Posts
    3,006
    Thanks given
    899
    Thanks received
    929
    Rep Power
    2548
    show CycleEventHandler stopEvents function and please highlight the necessary line
    Reply With Quote  
     

  3. #3  
    Banned

    Join Date
    Nov 2012
    Posts
    1,096
    Thanks given
    174
    Thanks received
    136
    Rep Power
    0
    Quote Originally Posted by Kaleem View Post
    show CycleEventHandler stopEvents function and please highlight the necessary line
    Here's the stopEvents

    Code:
    public void stopEvents(Object owner) {
    		for (CycleEventContainer container : events) {
    			if (container.getOwner().equals(owner)) {
    				container.stop();
    			}
    		}

    Here's the whole file:

    Code:
    package org.perception.event;
    
    import java.util.ArrayDeque;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Iterator;
    import java.util.LinkedList;
    import java.util.List;
    import java.util.Optional;
    import java.util.Queue;
    
    public class CycleEventHandler {
    
    	private static CycleEventHandler instance = new CycleEventHandler();
    
    	public static CycleEventHandler getSingleton() {
    		if (instance == null) {
    			instance = new CycleEventHandler();
    		}
    		return instance;
    	}
    	
    	private Queue<CycleEventContainer> pending;
    	
    	private List<CycleEventContainer> events;
    
    	public CycleEventHandler() {
    		this.pending = new ArrayDeque<>(150);
    		this.events = new LinkedList<>();
    	}
    	
    	public void addEvent(int id, Object owner, CycleEvent event, int cycles) {
    		this.pending.add(new CycleEventContainer(id, owner, event, cycles));
    	}
    	
    	public void addEvent(int id, Object owner, CycleEvent event, int cycles, boolean randomized) {
    		this.pending.add(new CycleEventContainer(id, owner, event, cycles, randomized));
    	}
    	
    	public void addEvent(Object owner, CycleEvent event, int cycles) {
    		addEvent(-1, owner, event, cycles);
    	}
    	
    	public void process() {
    		CycleEventContainer container;
    		while ((container = pending.poll()) != null) {
    			if (container.isRunning())
    				events.add(container);
    		}
    		Iterator<CycleEventContainer> it = events.iterator();
    		List<CycleEventContainer> randomizedEvents = new ArrayList<>();
    		while (it.hasNext()) {
    			container = it.next();
    			if (container != null) {
    				if (container.isRunning()) {
    					container.update();
    					if (container.needsExecution()) {
    						if (container.isRandomized()) {
    							randomizedEvents.add(container);
    						} else {
    							container.execute();
    						}
    					}
    				}
    				if (!container.isRunning()) {
    					it.remove();
    				}
    			}
    		}
    		if (randomizedEvents.size() > 0) {
    			Collections.shuffle(randomizedEvents);
    			randomizedEvents.forEach(CycleEventContainer::execute);
    		}
    	}
    	
    	public int getEventsCount() {
    		return this.events.size();
    	}
    	
    	public void stopEvents(Object owner) {
    		for (CycleEventContainer container : events) {
    			if (container.getOwner().equals(owner)) {
    				container.stop();
    			}
    		}
    		for (CycleEventContainer container : pending) {
    			if (container.getOwner().equals(owner)) {
    				container.stop();
    			}
    		}
    	}
    	
    	public void stopEvents(Object owner, int id) {
    		if (id == -1) {
    			throw new IllegalStateException("Illegal identification value, -1 is not permitted.");
    		}
    		for (CycleEventContainer c : events) {
    			if (c.getOwner() == owner && id == c.getID()) {
    				c.stop();
    			}
    		}
    		for (CycleEventContainer container : pending) {
    			if (container.getOwner().equals(owner) && id == container.getID()) {
    				container.stop();
    			}
    		}
    	}
    	
    	public void stopEvents(int id) {
    		if (id == -1) {
    			throw new IllegalStateException("Illegal identification value, -1 is not permitted.");
    		}
    		for (CycleEventContainer c : events) {
    			if (id == c.getID()) {
    				c.stop();
    			}
    		}
    		for (CycleEventContainer container : pending) {
    			if (container.getID() == id) {
    				container.stop();
    			}
    		}
    	}
    	
    	/**
    	 * Determines if an event is active where the object passed is the owner and
    	 * the event id is the id of the event.
    	 * @param owner	the owner of the event
    	 * @return	true if the event is alive
    	 */
    	public boolean isAlive(Object owner, int eventId) {
    		Optional<CycleEventContainer> op = events.stream().filter(container ->
    			container.getOwner().equals(owner) && container.getID() == eventId).findFirst();
    		return op.isPresent();
    	}
    	
    	/**
    	 * Determines if an event is active where the object passed is the owner.
    	 * @param owner	the owner of the event
    	 * @return	true if the event is alive
    	 */
    	public boolean isAlive(Object owner) {
    		Optional<CycleEventContainer> op = events.stream().filter(container ->
    			container.getOwner().equals(owner)).findFirst();
    		return op.isPresent();
    	}
    
    	public interface Event {
    		int PEST_CONTROL_LOBBY = 10000;
    		int PEST_CONTROL_GAME = 10005;
    		int BONE_ON_ALTAR = 10010;
    		int WARRIORS_GUILDS = 10015;
    		int OVERLOAD_BOOST_ID = 10020;
    		int OVERLOAD_HITMARK_ID = 10025;
    		int PLAYER_COMBAT_DAMAGE = 10030;
    		int CHRISTMAS_ENGINEER = 10035;
    
    }}
    Reply With Quote  
     


Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. My Cycle Event error [PI]
    By blank2 in forum Help
    Replies: 3
    Last Post: 10-28-2013, 05:29 AM
  2. Replies: 4
    Last Post: 09-27-2012, 10:33 PM
  3. [Hyper] Event Error
    By Harambe_ in forum Help
    Replies: 0
    Last Post: 05-21-2011, 10:19 PM
  4. [Riotscape/Emu]Events Error
    By Shemhamforash in forum Help
    Replies: 25
    Last Post: 02-15-2010, 10:09 PM
  5. Event error (code included)
    By Swifty in forum Help
    Replies: 13
    Last Post: 07-17-2009, 01:33 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •