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 + -
显示快捷键?