attack.java

来自「JAVA 工厂方法」· Java 代码 · 共 52 行

JAVA
52
字号
package org.su.demo.Creature.Attack;

import java.util.ArrayList;

import org.su.demo.Creature.demage.DemagePacket;
import org.su.demo.util.designmode.Obervice;
import org.su.demo.util.designmode.Subject;

/*
 * 实现被观察者(主题)接口
 * 攻击方
 */
public class Attack implements Subject {

	// 记录观察者
	private ArrayList<Obervice> obervices ;
	
	DemagePacket demagePacket;

	//初始化
	public Attack() {
		obervices = new ArrayList<Obervice>(); 
	};

	public Attack(DemagePacket demagePacket) {
		obervices = new ArrayList<Obervice>(); 
		this.demagePacket = demagePacket;
	}

	//注册观察者
	public void registerObserver(Obervice o) {
		obervices.add(o);
	}

	//删除观察者
	public void removeObserver(Obervice o) {
		int index = obervices.indexOf(o);
		if (index >= 0)
			obervices.remove(index);
	}

	//通知观察者
	public void notifyObserver() {
		for(int i = 0; i <obervices.size();i++)
		{
			Defense obervice = (Defense)obervices.get(i);
			obervice.update(demagePacket);
		}

	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?