160 |
} |
} |
161 |
|
|
162 |
model.update_first (get_p1()); |
model.update_first (get_p1()); |
163 |
//if (!stone) |
model.update_second (get_p2()); |
|
model.update_second (get_p2()); |
|
164 |
} |
} |
165 |
|
|
166 |
V3 |
V3 |
1036 |
st->play_sound ("st-move"); |
st->play_sound ("st-move"); |
1037 |
SetStone(newp, YieldStone(p)); |
SetStone(newp, YieldStone(p)); |
1038 |
st->on_move(); |
st->on_move(); |
1039 |
|
if (Item *it = GetItem(newp)) |
1040 |
|
it->on_stonehit(st); |
1041 |
return true; |
return true; |
1042 |
} |
} |
1043 |
} |
} |
1069 |
ItemLayer it_layer; |
ItemLayer it_layer; |
1070 |
} |
} |
1071 |
|
|
1072 |
void world::KillItem(GridPos p) {it_layer.kill(p);} |
void world::KillItem(GridPos p) { |
1073 |
|
laser::MaybeRecalcLight(p); |
1074 |
|
it_layer.kill(p); |
1075 |
|
} |
1076 |
Item *world::GetItem(GridPos p) {return it_layer.get(p);} |
Item *world::GetItem(GridPos p) {return it_layer.get(p);} |
1077 |
Item *world::YieldItem(GridPos p) { |
Item *world::YieldItem(GridPos p) { |
1078 |
laser::MaybeRecalcLight(p); |
laser::MaybeRecalcLight(p); |
1079 |
return it_layer.yield(p); |
return it_layer.yield(p); |
1080 |
} |
} |
1081 |
void world::SetItem(GridPos p, Item* st) {it_layer.set(p,st);} |
void world::SetItem(GridPos p, Item* st) { |
1082 |
|
laser::MaybeRecalcLight(p); |
1083 |
|
it_layer.set(p,st); |
1084 |
|
} |
1085 |
|
|
1086 |
//---------------------------------------- |
//---------------------------------------- |
1087 |
// Actor manipulation. |
// Actor manipulation. |